ReactOS  0.4.12-dev-14-gd0c8636
3dtext.c File Reference
#include "3dtext.h"
#include <winbase.h>
#include <wingdi.h>
#include <winuser.h>
#include <scrnsave.h>
#include <math.h>
#include <GL/glu.h>
#include "resource.h"
Include dependency graph for 3dtext.c:

Go to the source code of this file.

Macros

#define APPNAME   _T("3DText")
 

Functions

GLvoid BuildFont (GLvoid)
 
GLvoid KillFont (GLvoid)
 
GLvoid glPrint (LPTSTR text)
 
GLvoid InitGL (GLsizei Width, GLsizei Height)
 
GLvoid ReSizeGLScene (GLsizei Width, GLsizei Height)
 
GLvoid DrawGLScene (GLvoid)
 
LRESULT CALLBACK ScreenSaverProc (HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
 
BOOL CALLBACK ScreenSaverConfigureDialog (HWND hDlg, UINT uMsg, WPARAM wParam, LPARAM lParam)
 
BOOL WINAPI RegisterDialogClasses (HANDLE hInst)
 

Variables

static HGLRC hRC
 
static HDC hDC
 
GLuint base
 
GLfloat rot
 
GLfloat extentX = 0.0f
 
GLfloat extentY = 0.0f
 
HINSTANCE hInstance
 
BOOL fullscreen = FALSE
 

Macro Definition Documentation

◆ APPNAME

#define APPNAME   _T("3DText")

Definition at line 40 of file 3dtext.c.

Referenced by CreateScreenSaveWnd(), InitScreenSaveClass(), and wWinMain().

Function Documentation

◆ BuildFont()

GLvoid BuildFont ( GLvoid  )

Definition at line 46 of file 3dtext.c.

Referenced by InitGL().

47 {
48  // Address Buffer For Font Storage
49  GLYPHMETRICSFLOAT gmf[256];
50  // Windows Font Handle
51  HFONT font;
52  size_t i;
53  TCHAR c;
54  GLfloat cellOriginX = 0.0f;
55  GLfloat stringOriginX;
56  GLfloat stringExtentX = 0.0f;
57  GLfloat stringExtentY = 0.0f;
58 
59  // Storage For 256 Characters
60  base = glGenLists(256);
61 
62  font = CreateFont(-12,
63  0, // Width Of Font
64  0, // Angle Of Escapement
65  0, // Orientation Angle
66  FW_BOLD, // Font Weight
67  FALSE, // Italic
68  FALSE, // Underline
69  FALSE, // Strikeout
70  DEFAULT_CHARSET, // Character Set Identifier
71  OUT_TT_PRECIS, // Output Precision
72  CLIP_DEFAULT_PRECIS, // Clipping Precision
73  ANTIALIASED_QUALITY, // Output Quality
74  FF_DONTCARE|DEFAULT_PITCH, // Family And Pitch
75  _T("Tahoma")); // Font Name
76 
77  // Selects The Font We Created
78  SelectObject(hDC, font);
79 
80  wglUseFontOutlines(hDC, // Select The Current DC
81  0, // Starting Character
82  255, // Number Of Display Lists To Build
83  base, // Starting Display Lists
84  0.0f, // Deviation From The True Outlines
85  0.2f, // Font Thickness In The Z Direction
86  WGL_FONT_POLYGONS, // Use Polygons, Not Lines
87  gmf); // Address Of Buffer To Receive Data
88 
89  // Calculate the string extent
90  for (i = 0; i < _tcslen(m_Text); i++)
91  {
92  c = m_Text[i];
93 
94  stringOriginX = cellOriginX + gmf[c].gmfptGlyphOrigin.x;
95 
96  stringExtentX = stringOriginX + gmf[c].gmfBlackBoxX;
97  if (gmf[c].gmfBlackBoxY > stringExtentY)
98  stringExtentY = gmf[c].gmfBlackBoxY;
99 
100  cellOriginX = cellOriginX + gmf[c].gmfCellIncX;
101  }
102 
103  extentX = stringExtentX;
104  extentY = stringExtentY;
105 }
#define ANTIALIASED_QUALITY
Definition: wingdi.h:438
FLOAT x
Definition: wingdi.h:2699
#define FF_DONTCARE
Definition: wingdi.h:446
FLOAT gmfBlackBoxY
Definition: wingdi.h:2704
GLAPI GLuint GLAPIENTRY glGenLists(GLsizei range)
Definition: mk_font.cpp:20
HGDIOBJ WINAPI SelectObject(_In_ HDC, _In_ HGDIOBJ)
Definition: dc.c:1497
#define DEFAULT_CHARSET
Definition: wingdi.h:382
GLenum GLclampf GLint i
Definition: glfuncs.h:14
#define CLIP_DEFAULT_PRECIS
Definition: wingdi.h:424
#define CreateFont
Definition: wingdi.h:4420
size_t __cdecl _tcslen(const _TCHAR *str)
Definition: tcslen.h:9
#define wglUseFontOutlines
Definition: wingdi.h:4463
float GLfloat
Definition: gl.h:161
TCHAR m_Text[MAX_PATH]
Definition: settings.c:25
#define WGL_FONT_POLYGONS
Definition: wingdi.h:1306
char TCHAR
Definition: xmlstorage.h:189
GLfloat f
Definition: glext.h:7540
#define _T(x)
Definition: vfdio.h:22
#define DEFAULT_PITCH
Definition: wingdi.h:441
GLfloat extentX
Definition: 3dtext.c:37
static HDC hDC
Definition: 3dtext.c:33
POINTFLOAT gmfptGlyphOrigin
Definition: wingdi.h:2705
GLfloat extentY
Definition: 3dtext.c:38
FLOAT gmfBlackBoxX
Definition: wingdi.h:2703
#define FW_BOLD
Definition: wingdi.h:376
static DWORD *static HFONT(WINAPI *pCreateFontIndirectExA)(const ENUMLOGFONTEXDVA *)
#define c
Definition: ke_i.h:80
#define OUT_TT_PRECIS
Definition: wingdi.h:417

◆ DrawGLScene()

GLvoid DrawGLScene ( GLvoid  )

Definition at line 210 of file 3dtext.c.

Referenced by ScreenSaverProc().

211 {
212  // Save ticks count of previous frame here
213  static DWORD dwTicks = 0;
214 
215  // Clear The Screen And The Depth Buffer
217 
218  // Reset The View
219  glLoadIdentity();
220 
221  // Move One Unit Into The Screen
222  glTranslatef(0.0f, 0.0f, -10.0f);
223 
224  // Rotate On The X Axis
225  glRotatef(rot, 1.0f, 0.0f, 0.0f);
226 
227  // Rotate On The Y Axis
228  glRotatef(rot * 1.2f, 0.0f, 1.0f, 0.0f);
229 
230  // Rotate On The Z Axis
231  glRotatef(rot * 1.4f, 0.0f, 0.0f, 1.0f);
232 
233  // Move to the Left and Down before drawing
234  glTranslatef(-(extentX / 2.0f),
235  -(extentY / 2.0f),
236  0.0f);
237 
238  // Pulsing Colors Based On The Rotation
239  glColor3f((1.0f * (GLfloat)(cos(rot / 20.0f))),
240  (1.0f * (GLfloat)(sin(rot / 25.0f))),
241  (1.0f - 0.5f * (GLfloat)(cos(rot / 17.0f))));
242 
243  // Print GL Text To The Screen
244  glPrint(m_Text);
245 
246  // Make The Text Blue
247  glColor3f(0.0f, 0.0f, 1.0f);
248 
249  // Increase The Rotation Variable
250  if(dwTicks)
251  rot += (GetTickCount() - dwTicks) / 20.0f;
252  dwTicks = GetTickCount();
253 }
#define GL_COLOR_BUFFER_BIT
Definition: gl.h:716
GLAPI void GLAPIENTRY glClear(GLbitfield mask)
GLAPI void GLAPIENTRY glTranslatef(GLfloat x, GLfloat y, GLfloat z)
#define GL_DEPTH_BUFFER_BIT
Definition: gl.h:710
GLAPI void GLAPIENTRY glRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z)
DWORD WINAPI GetTickCount(VOID)
Definition: time.c:445
GLfloat rot
Definition: 3dtext.c:36
_STLP_DECLSPEC complex< float > _STLP_CALL cos(const complex< float > &)
float GLfloat
Definition: gl.h:161
TCHAR m_Text[MAX_PATH]
Definition: settings.c:25
GLfloat f
Definition: glext.h:7540
unsigned long DWORD
Definition: ntddk_ex.h:95
GLfloat extentX
Definition: 3dtext.c:37
GLfloat extentY
Definition: 3dtext.c:38
GLAPI void GLAPIENTRY glLoadIdentity(void)
GLAPI void GLAPIENTRY glColor3f(GLfloat red, GLfloat green, GLfloat blue)
_STLP_DECLSPEC complex< float > _STLP_CALL sin(const complex< float > &)
GLvoid glPrint(LPTSTR text)
Definition: 3dtext.c:115

◆ glPrint()

GLvoid glPrint ( LPTSTR  text)

Definition at line 115 of file 3dtext.c.

Referenced by DrawGLScene().

116 {
117  // If there's no text, do nothing
118  if (text == NULL)
119  return;
120 
121  // Pushes The Display List Bits
123 
124  // Sets The Base Character to 32
125  glListBase(base);
126 
127  // Draws The Display List Text
129 #ifdef UNICODE
131 #else
133 #endif
134  text);
135 
136  // Pops The Display List Bits
137  glPopAttrib();
138 }
#define GL_UNSIGNED_SHORT
Definition: gl.h:180
wchar_t UNICODE
Definition: ms-dtyp.idl:111
const WCHAR * text
Definition: package.c:1827
#define GL_UNSIGNED_BYTE
Definition: gl.h:178
GLAPI void GLAPIENTRY glPushAttrib(GLbitfield mask)
size_t __cdecl _tcslen(const _TCHAR *str)
Definition: tcslen.h:9
smooth NULL
Definition: ftsmooth.c:416
GLAPI void GLAPIENTRY glListBase(GLuint base)
GLAPI void GLAPIENTRY glCallLists(GLsizei n, GLenum type, const GLvoid *lists)
#define GL_LIST_BIT
Definition: gl.h:719
GLAPI void GLAPIENTRY glPopAttrib(void)

◆ InitGL()

GLvoid InitGL ( GLsizei  Width,
GLsizei  Height 
)

Definition at line 141 of file 3dtext.c.

Referenced by ScreenSaverProc().

142 {
143  // Clear The Background Color To Black
144  glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
145 
146  // Enables Clearing Of The Depth Buffer
147  glClearDepth(1.0);
148 
149  // The Type Of Depth Test To Do
151 
152  // Enables Depth Testing
154 
155  // Enables Smooth Color Shading
157 
158  // Select The Projection Matrix
160 
161  // Reset The Projection Matrix
162  glLoadIdentity();
163 
164  // Calculate The Aspect Ratio Of The Window
165  gluPerspective(45.0f, (GLfloat)Width / (GLfloat)Height, 0.1f, 100.0f);
166 
167  // Select The Modelview Matrix
169 
170  // Build The Font
171  BuildFont();
172 
173  // Enable Default Light (Quick And Dirty)
175 
176  // Enable Lighting
178 
179  // Enable Coloring Of Material
181 }
GLAPI void GLAPIENTRY glMatrixMode(GLenum mode)
#define GL_SMOOTH
Definition: gl.h:339
GLAPI void GLAPIENTRY glClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)
#define GL_LESS
Definition: gl.h:294
GLvoid BuildFont(GLvoid)
Definition: 3dtext.c:46
#define gluPerspective
Definition: glu_mangle.h:28
#define GL_LIGHT0
Definition: gl.h:311
GLAPI void GLAPIENTRY glShadeModel(GLenum mode)
float GLfloat
Definition: gl.h:161
GLfloat f
Definition: glext.h:7540
#define GL_COLOR_MATERIAL
Definition: gl.h:340
#define GL_LIGHTING
Definition: gl.h:310
#define GL_PROJECTION
Definition: gl.h:246
GLAPI void GLAPIENTRY glEnable(GLenum cap)
#define GL_DEPTH_TEST
Definition: gl.h:301
GLAPI void GLAPIENTRY glLoadIdentity(void)
#define GL_MODELVIEW
Definition: gl.h:245
GLAPI void GLAPIENTRY glClearDepth(GLclampd depth)
GLAPI void GLAPIENTRY glDepthFunc(GLenum func)

◆ KillFont()

GLvoid KillFont ( GLvoid  )

Definition at line 108 of file 3dtext.c.

Referenced by ScreenSaverProc().

109 {
110  // Delete all 256 characters
111  glDeleteLists(base, 256);
112 }
GLAPI void GLAPIENTRY glDeleteLists(GLuint list, GLsizei range)

◆ RegisterDialogClasses()

BOOL WINAPI RegisterDialogClasses ( HANDLE  hInst)

Definition at line 416 of file 3dtext.c.

Referenced by ScreenSaverProc().

417 {
418  return TRUE;
419 }
#define TRUE
Definition: types.h:120

◆ ReSizeGLScene()

GLvoid ReSizeGLScene ( GLsizei  Width,
GLsizei  Height 
)

Definition at line 184 of file 3dtext.c.

Referenced by ScreenSaverProc().

185 {
186  // Is Window Too Small (Divide By Zero Error)
187  if (Height == 0)
188  {
189  // If So Make It One Pixel Tall
190  Height = 1;
191  }
192 
193  // Reset The Current Viewport And Perspective Transformation
194  glViewport(0, 0, Width, Height);
195 
196  // Select The Projection Matrix
198 
199  // Reset The Projection Matrix
200  glLoadIdentity();
201 
202  // Calculate The Aspect Ratio Of The Window
203  gluPerspective(45.0f, (GLfloat)Width / (GLfloat)Height, 0.1f, 100.0f);
204 
205  // Select The Modelview Matrix
207 }
GLAPI void GLAPIENTRY glMatrixMode(GLenum mode)
#define gluPerspective
Definition: glu_mangle.h:28
float GLfloat
Definition: gl.h:161
GLfloat f
Definition: glext.h:7540
#define GL_PROJECTION
Definition: gl.h:246
GLAPI void GLAPIENTRY glViewport(GLint x, GLint y, GLsizei width, GLsizei height)
GLAPI void GLAPIENTRY glLoadIdentity(void)
#define GL_MODELVIEW
Definition: gl.h:245

◆ ScreenSaverConfigureDialog()

BOOL CALLBACK ScreenSaverConfigureDialog ( HWND  hDlg,
UINT  uMsg,
WPARAM  wParam,
LPARAM  lParam 
)

Definition at line 381 of file 3dtext.c.

Referenced by ScreenSaverProc().

382 {
383  switch (uMsg)
384  {
385  case WM_INITDIALOG:
386  LoadSettings();
388  return TRUE;
389 
390  case WM_COMMAND:
391  switch (LOWORD(wParam))
392  {
393  case IDOK:
395  SaveSettings();
396 
397  /* Fall through */
398 
399  case IDCANCEL:
400  EndDialog(hDlg, IDCANCEL);
401  break;
402  }
403  return FALSE;
404 
405  case WM_CLOSE:
406  EndDialog(hDlg, 0);
407  break;
408 
409  default:
410  return FALSE;
411  }
412 
413  return TRUE;
414 }
#define TRUE
Definition: types.h:120
#define IDOK
Definition: winuser.h:824
BOOL WINAPI EndDialog(_In_ HWND, _In_ INT_PTR)
WPARAM wParam
Definition: combotst.c:138
void SaveSettings(void)
Definition: settings.c:113
void LoadSettings(void)
Definition: settings.c:53
TCHAR m_Text[MAX_PATH]
Definition: settings.c:25
#define IDC_MESSAGE_TEXT
Definition: resource.h:5
#define GetDlgItemText
Definition: winuser.h:5651
#define WM_CLOSE
Definition: winuser.h:1603
#define MAX_PATH
Definition: compat.h:26
#define SetDlgItemText
Definition: winuser.h:5715
#define WM_COMMAND
Definition: winuser.h:1716
#define IDCANCEL
Definition: winuser.h:825
#define WM_INITDIALOG
Definition: winuser.h:1715
#define LOWORD(l)
Definition: pedump.c:82

◆ ScreenSaverProc()

LRESULT CALLBACK ScreenSaverProc ( HWND  hWnd,
UINT  message,
WPARAM  wParam,
LPARAM  lParam 
)

Definition at line 256 of file 3dtext.c.

257 {
258  RECT Screen; // Used Later On To Get The Size Of The Window
259  GLuint PixelFormat; // Pixel Format Storage
260  static PIXELFORMATDESCRIPTOR pfd= // Pixel Format Descriptor
261  {
262  sizeof(PIXELFORMATDESCRIPTOR), // Size Of This Pixel Format Descriptor
263  1, // Version Number (?)
264  PFD_DRAW_TO_WINDOW | // Format Must Support Window
265  PFD_SUPPORT_OPENGL | // Format Must Support OpenGL
266  PFD_DOUBLEBUFFER, // Must Support Double Buffering
267  PFD_TYPE_RGBA, // Request An RGBA Format
268  16, // Select A 16Bit Color Depth
269  0, 0, 0, 0, 0, 0, // Color Bits Ignored (?)
270  0, // No Alpha Buffer
271  0, // Shift Bit Ignored (?)
272  0, // No Accumulation Buffer
273  0, 0, 0, 0, // Accumulation Bits Ignored (?)
274  16, // 16Bit Z-Buffer (Depth Buffer)
275  0, // No Stencil Buffer
276  0, // No Auxiliary Buffer (?)
277  PFD_MAIN_PLANE, // Main Drawing Layer
278  0, // Reserved (?)
279  0, 0, 0 // Layer Masks Ignored (?)
280  };
281 
282  switch (message)
283  {
284  case WM_CREATE:
285  LoadSettings();
286 
287  // Gets A Device Context For The Window
288  hDC = GetDC(hWnd);
289 
290  // Finds The Closest Match To The Pixel Format We Set Above
291  PixelFormat = ChoosePixelFormat(hDC, &pfd);
292 
293  // No Matching Pixel Format?
294  if (!PixelFormat)
295  {
296  MessageBox(0, _TEXT("Can't Find A Suitable PixelFormat."), _TEXT("Error"),MB_OK | MB_ICONERROR);
297 
298  // This Sends A 'Message' Telling The Program To Quit
299  PostQuitMessage(0);
300  break;
301  }
302 
303  // Can We Set The Pixel Mode?
304  if (!SetPixelFormat(hDC, PixelFormat, &pfd))
305  {
306  MessageBox(0, _TEXT("Can't Set The PixelFormat."), _TEXT("Error"), MB_OK | MB_ICONERROR);
307 
308  // This Sends A 'Message' Telling The Program To Quit
309  PostQuitMessage(0);
310  break;
311  }
312 
313  // Grab A Rendering Context
315 
316  // Did We Get One?
317  if (!hRC)
318  {
319  MessageBox(0, _TEXT("Can't Create A GL Rendering Context."), _TEXT("Error"), MB_OK | MB_ICONERROR);
320 
321  // This Sends A 'Message' Telling The Program To Quit
322  PostQuitMessage(0);
323  break;
324  }
325 
326  // Can We Make The RC Active?
327  if (!wglMakeCurrent(hDC, hRC))
328  {
329  MessageBox(0, _TEXT("Can't Activate GLRC."), _TEXT("Error"), MB_OK | MB_ICONERROR);
330 
331  // This Sends A 'Message' Telling The Program To Quit
332  PostQuitMessage(0);
333  break;
334  }
335 
336  // Grab Screen Info For The Current Window
337  GetClientRect(hWnd, &Screen);
338 
339  // Initialize The GL Screen Using Screen Info
340  InitGL(Screen.right, Screen.bottom);
341  break;
342 
343  case WM_DESTROY:
344  // Disable Fullscreen Mode
345  ChangeDisplaySettings(NULL, 0);
346 
347  // Deletes The Font Display List
348  KillFont();
349 
350  // Make The DC Current
352 
353  // Kill The RC
355 
356  // Free The DC
357  ReleaseDC(hWnd, hDC);
358  break;
359 
360  case WM_PAINT:
361  DrawGLScene();
362  SwapBuffers(hDC);
363  break;
364 
365  case WM_SIZE: // Resizing The Screen
366  // Resize To The New Window Size
368  break;
369 
370  default:
371  // Pass Windows Messages to the default screensaver window procedure
372  return DefScreenSaverProc(hWnd, message, wParam, lParam);
373  }
374 
375  return 0;
376 }
static HGLRC hRC
Definition: 3dtext.c:32
GLvoid DrawGLScene(GLvoid)
Definition: 3dtext.c:210
Definition: tftpd.h:59
BOOL WINAPI wglDeleteContext(HGLRC hglrc)
Definition: wgl.c:514
#define PFD_MAIN_PLANE
Definition: wingdi.h:297
HDC WINAPI GetDC(_In_opt_ HWND)
GLvoid ReSizeGLScene(GLsizei Width, GLsizei Height)
Definition: 3dtext.c:184
LONG right
Definition: windef.h:298
GLvoid KillFont(GLvoid)
Definition: 3dtext.c:108
WPARAM wParam
Definition: combotst.c:138
BOOL WINAPI SetPixelFormat(_In_ HDC, _In_ int, _In_ const PIXELFORMATDESCRIPTOR *)
#define PFD_DOUBLEBUFFER
Definition: wingdi.h:300
void LoadSettings(void)
Definition: settings.c:53
int WINAPI ReleaseDC(_In_opt_ HWND, _In_ HDC)
smooth NULL
Definition: ftsmooth.c:416
#define _TEXT(x)
Definition: tchar.h:1543
#define WM_DESTROY
Definition: winuser.h:1591
BOOL WINAPI SwapBuffers(HDC)
Definition: wingl.c:187
#define WM_SIZE
Definition: winuser.h:1593
int WINAPI ChoosePixelFormat(_In_ HDC hdc, _In_ const PIXELFORMATDESCRIPTOR *ppfd)
#define WM_PAINT
Definition: winuser.h:1602
#define PFD_TYPE_RGBA
Definition: wingdi.h:295
static PIXELFORMATDESCRIPTOR pfd
Definition: ssstars.c:67
INT PixelFormat
#define MB_ICONERROR
Definition: winuser.h:781
#define MessageBox
Definition: winuser.h:5688
BOOL WINAPI wglMakeCurrent(HDC hdc, HGLRC hglrc)
Definition: wgl.c:650
static HDC hDC
Definition: 3dtext.c:33
BOOL WINAPI GetClientRect(_In_ HWND, _Out_ LPRECT)
unsigned int GLuint
Definition: gl.h:159
GLvoid InitGL(GLsizei Width, GLsizei Height)
Definition: 3dtext.c:141
#define MB_OK
Definition: winuser.h:784
#define WM_CREATE
Definition: winuser.h:1590
struct tagPIXELFORMATDESCRIPTOR PIXELFORMATDESCRIPTOR
#define HIWORD(l)
Definition: typedefs.h:246
LRESULT WINAPI DefScreenSaverProc(HWND hWnd, UINT msg, WPARAM wParam, LPARAM lParam)
Definition: scrnsave.c:95
LONG bottom
Definition: windef.h:299
Definition: console.h:34
#define PFD_SUPPORT_OPENGL
Definition: wingdi.h:305
#define PFD_DRAW_TO_WINDOW
Definition: wingdi.h:302
LPARAM lParam
Definition: combotst.c:139
#define LOWORD(l)
Definition: pedump.c:82
__analysis_noreturn void WINAPI PostQuitMessage(_In_ int)
HGLRC WINAPI wglCreateContext(HDC hdc)
Definition: wgl.c:383

Variable Documentation

◆ base

Definition at line 35 of file 3dtext.c.

Referenced by __file_size(), _dosmaperr(), _lsearch(), _mesa_extension_is_enabled(), _mesa_get_enabled_extension(), _mesa_get_extension_count(), _vsnprintf(), add_dirent_to_buf(), add_module(), align_the_pointer(), apc_deadlock_thread(), asciiToUTF8(), asmshader__scan_buffer(), astollb(), basename(), bezier_deviation_squared(), ccf_sortlist(), cf2_doBlend(), cff_blend_doBlend(), cid_parse_dict(), CoInternetCombineIUri(), CoInternetCombineUrlEx(), combine_uri(), context_bind_shader_resources(), context_create(), convert_text2number_2(), createenumpins(), CRYPT_OpenParentStore(), CRYPT_SysRegOpenStoreW(), DECLARE_INTERFACE(), decode_base85_guid(), detect_dsp(), dup_basename(), dwarf2_parse_augmentation_ptr(), dwarfaddrtounit(), expr_common_type(), FDI_read_string(), findfde(), format_float(), FT_GlyphLoader_Add(), FT_GlyphLoader_Rewind(), ft_validator_init(), gen_bitlen(), get_iframe_doc(), get_manifest_in_manifest_file(), get_manifest_in_pe_file(), get_nt_header(), hlsl__scan_buffer(), hook_WaitForInputIdle(), if(), IMAGEHLP_ReportImportSection(), inet_addr(), inet_ntop4(), inflate_table(), ipaddr_aton(), isolat1ToUTF8(), l_to_a(), minidump_add_memory_block(), MiniDumpReadDumpStream(), OP_E(), otv_validate(), para_num_get_str(), parse_charstrings(), parse_dict(), parse_subrs(), parseAndPrintFile(), parser__scan_buffer(), ParseV4Address(), PathIsURLA(), PathIsURLW(), pfr_face_get_kerning(), PICE_vsprintf(), png_access_version_number(), ppy__scan_buffer(), PS_Conv_Strtol(), ps_parser_init(), QISearch(), read_msft_importlib(), ReadQWordNode(), RtlIntegerToChar(), RtlUnicodeStringToInteger(), shader_glsl_init_uniform_block_bindings(), shader_glsl_load_samplers(), shader_glsl_map_tex_unit(), sort_linked_list(), state_cb(), streamout(), strtol(), strtolW(), strtoull(), strtoulW(), SymEnumLines(), symt_new_array(), t42_parse_dict(), td_lfind(), test_CoInternetCombineIUri(), test_CoInternetCombineUrlEx(), test_create_adjustable_cap(), test_CreateFileMapping_protection(), test_filesourcefilter(), test_GetMappedFileName(), test_GetThreadExitCode(), test_mapping(), test_PdhGetCounterTimeBase(), test_VirtualAlloc_protection(), test_VirtualProtect(), test_write_watch(), ArcTessellator::trim_power_coeffs(), TRIO_ARGS2(), TRIO_ARGS3(), TRIO_ARGS5(), TRIO_ARGS6(), UDFUnPackMapping(), UniataAhciResume(), update_radio(), UrlCombineA(), UrlCombineW(), UrlGetLocationA(), UrlGetLocationW(), UrlIsA(), UrlIsW(), wcstol(), wcstoul(), wined3d_buffer_map(), WMSFT_fixup_typeinfos(), WPRINTF_GetLen(), x86_64_get_addr(), xmlBufGetInputBase(), xmlBufSetInputBaseCur(), xmlBufWriteQuotedString(), xmlEntitiesErrMemory(), xmlHTMLPrintFileContext(), xmlIOErrMemory(), xmlIsXHTML(), xmlParseExtParsedEnt(), xmlParsePITarget(), xmlParserPrintFileContextInternal(), xmlTreeErrMemory(), xsltLoadStylesheetPI(), xsltReleaseLocalRVTs(), xsltSaveResultTo(), and yy_scan_buffer().

◆ extentX

GLfloat extentX = 0.0f

Definition at line 37 of file 3dtext.c.

Referenced by BuildFont(), and DrawGLScene().

◆ extentY

GLfloat extentY = 0.0f

Definition at line 38 of file 3dtext.c.

Referenced by BuildFont(), and DrawGLScene().

◆ fullscreen

BOOL fullscreen = FALSE

Definition at line 43 of file 3dtext.c.

◆ hDC

HDC hDC
static

Definition at line 33 of file 3dtext.c.

Referenced by AddDlg_OnInitDialog(), ANIMATE_AnimationThread(), ANIMATE_Play(), ANIMATE_Timer(), ANIMATE_WindowProc(), BitmapFromIcon(), BuildFont(), BUTTON_BStoDT(), CB_Paint(), CB_ThemedPaint(), CBGetTextAreaHeight(), CC_PaintColorGraph(), CC_PaintCross(), CC_PaintLumBar(), CC_PaintTriangle(), co_IntPaintWindows(), COMBO_Init(), COMBO_Paint(), COMBO_PrepareColors(), COMBOEX_ComboWndProc(), COMBOEX_EditWndProc(), ConWndProc(), CreateD3D9DeviceData(), ATL::CImage::CreateInternal(), CreateMonospaceFont(), CShellLink::CreateShortcutIcon(), debugstr_run(), dialog_choose_font(), Display_SetTypeFace(), DisplayPageProc(), DoBlt(), DoEntry(), DoLoadNames(), CDownloadManager::DownloadProgressProc(), DrawBackgroundPreview(), DrawNCPreview(), DumpFont(), DxDdReenableDirectDrawObject(), EditDlg_OnInitDialog(), EditTypeDlg_OnMeasureItem(), export_welcome_dlg_proc(), FaceNameList_Initialize(), font_height(), FontSizeChange(), FontTypeChange(), GB_Paint(), GB_ThemedPaint(), Get16BitD3DFormat(), GetClipboardDataDimensions(), GetFontCellSize(), GetFontMetrics(), GetPossibleSettings(), GuiConsoleHandlePaint(), GuiConsoleUpdateSelection(), HeightFromPointSize(), HelDdSurfLock(), HelDdSurfUnlock(), HEXEDIT_WM_SETFONT(), ICONTITLE_SetTitlePos(), ImageEditWndProc(), import_welcome_dlg_proc(), init_system_font_height(), InitBitmap(), InitEditWnd(), InitFonts(), InitLogo(), InitOGLWindow(), IntAnimatePalette(), IntDefWindowProc(), IntGdiCreateDisplayDC(), IntIsFontRenderingEnabled(), IntScrollWindowEx(), IsDirectDrawSupported(), IsValidConsoleFont(), KeyboardSpeedProc(), LoadDialog(), LoadIniFile(), LogicalSizeToPointSize(), MainFrameBase::MainFrameBase(), MainWnd_OnDrawItem(), MainWnd_OnMeasureItem(), MainWnd_OnPaint(), MainWndProc(), MCIAVI_OpenVideo(), MCIAVI_player(), ME_CharCompare(), ME_DrawTextWithStyle(), ME_HandleMessage(), ME_InitContext(), CTrayClockWnd::MeasureLines(), MonitorSelWndProc(), MonSelMoveDragRect(), MonthCalWndProc(), MultiWndProc(), NC_HandleNCActivate(), NC_HandleNCCalcSize(), NC_HandleNCLButtonDown(), NtGdiDdDDICreateDCFromMemory(), NtGdiFlushUserBatch(), NtGdiPolyPolyDraw(), NtUserBeginPaint(), OB_Paint(), CPaletteWindow::OnPaint(), CFullscreenWindow::OnPaint(), CSelectionWindow::OnPaint(), CTrayClockWnd::OnPaint(), paint(), PaintSuspendedWindow(), PointSizeFromHeight(), PointSizeToLogicalSize(), ProcessListWndProc(), ResetDCA(), RichEditWndProc_common(), RosImageProc(), ScreenSaverProc(), serializeBMP(), serializeIcon(), SetupControls(), SetupDiGetClassImageListExW(), ShellBrowser::ShellBrowser(), SIC_Initialize(), SoftModalMessageBox(), START_TEST(), system_font_height(), Test_Dibsection(), test_edit_control_3(), Test_FontPresence(), Test_FontSelection(), test_fontsize(), Test_GetClipRgn(), Test_GetCurrentObject(), Test_GetSystemMetrics(), Test_GetTextFace(), Test_GetTextFaceAliasW(), Test_NtGdiDoPalette_GdiPalSetEntries(), Test_OneParamRoutine_WindowFromDC(), test_pack_DRAWITEMSTRUCT(), Test_Params(), Test_ScrollDC(), Test_SetDCPenColor(), Test_SetMapMode(), Test_SetWindowExtEx(), ToolTipProc(), TOOLTIPS_Paint(), TrayIcon_GetProcessorUsageIcon(), TREEVIEW_ComputeTextWidth(), UB_Paint(), UpdateCaretPos(), UserGetDCEx(), UserPaintCaption(), and ViewDlg_CreateTreeImageList().

◆ hInstance

HINSTANCE hInstance

Definition at line 42 of file 3dtext.c.

◆ hRC

HGLRC hRC
static

Definition at line 32 of file 3dtext.c.

Referenced by InitOGLWindow(), and ScreenSaverProc().

◆ rot