summaryrefslogtreecommitdiff
path: root/Build/source/libs/freetype/freetype-1.5/test/arch/win16/gw_win16.c
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/libs/freetype/freetype-1.5/test/arch/win16/gw_win16.c')
-rw-r--r--Build/source/libs/freetype/freetype-1.5/test/arch/win16/gw_win16.c431
1 files changed, 0 insertions, 431 deletions
diff --git a/Build/source/libs/freetype/freetype-1.5/test/arch/win16/gw_win16.c b/Build/source/libs/freetype/freetype-1.5/test/arch/win16/gw_win16.c
deleted file mode 100644
index 33332203a37..00000000000
--- a/Build/source/libs/freetype/freetype-1.5/test/arch/win16/gw_win16.c
+++ /dev/null
@@ -1,431 +0,0 @@
-/*******************************************************************
- *
- * gw_win16.c graphics driver for 16-bit Windows platform. 0.1
- *
- * This is the driver for displaying inside a window under 16-bit
- * Microsoft Windows, used by the graphics utility of the
- * FreeType test suite.
- *
- * Written by Antoine Leca.
- * Copyright 1999-2001 by Antoine Leca,
- * David Turner, Robert Wilhelm, and Werner Lemberg.
- *
- * Borrowing liberally from the other FreeType drivers.
- *
- * This file is part of the FreeType project, and may only be used
- * modified and distributed under the terms of the FreeType project
- * license, LICENSE.TXT. By continuing to use, modify or distribute
- * this file you indicate that you have read the license and
- * understand and accept it fully.
- *
- ******************************************************************/
-
-#include <windows.h> /* should be #included before everything else */
- /* because it #defines NULL in a peculiar way */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-
-#include "gdriver.h"
-#include "gevents.h"
-#include "gmain.h"
-
-
-/* The following #ifdef are used to define the following macros : */
-/* */
-/* - hInst : variable containing the handle of the current instance. */
-/* - hPrev : variable containing the handle of the previous instance. */
-/* */
-
-/* ---- Microsoft C compilers support ------------------------------------ */
-
-#if defined( M_I86 ) || defined( _M_I86 )
-
-extern HINSTANCE _hInstance, _hPrevInstance;
-#define hInst _hInstance
-#define hPrev _hPrevInstance
-
-#endif
-
-/* ---- Borland C compiler support --------------------------------------- */
-
-#ifdef __TURBOC__
-
-#pragma option -A-
-
-extern HINSTANCE _hInstance, _hPrev;
-#define hInst _hInstance
-#define hPrev _hPrev
-
-#endif
-
-
-#if !defined ( hInst ) || !defined ( hPrev )
-#error Your compiler is not (yet) supported. Check the source file!
-#endif
-
-/* ---- Common initialisations ------------------------------------------- */
-
-/* Size of the window. */
-#define WIN_WIDTH 640u
-#define WIN_HEIGHT 400u
-/* The values will be divided by 2 for gray-scale rendering. */
-
-/* These values can be changed, but WIN_WIDTH should remain for now a */
-/* multiple of 32 to avoid padding issues. */
-
-/* Also, to avoid 16-bit overflowing issues, the product */
-/* WIN_WIDTH * WIN_HEIGHT should not excess 512K for monochrome */
-/* rendering, and 256K for gray-scale rendering. */
-
-
- typedef struct _Translator
- {
- char key;
- GEvent event_class;
- int event_info;
- } Translator;
-
-#define NUM_Translators 20
-
- static const Translator trans[NUM_Translators] =
- {
- { (char)27, event_Quit, 0 },
- { 'q', event_Quit, 0 },
-
- { 'x', event_Rotate_Glyph, -1 },
- { 'c', event_Rotate_Glyph, 1 },
- { 'v', event_Rotate_Glyph, -16 },
- { 'b', event_Rotate_Glyph, 16 },
-
- { '{', event_Change_Glyph, -10000 },
- { '}', event_Change_Glyph, 10000 },
- { '(', event_Change_Glyph, -1000 },
- { ')', event_Change_Glyph, 1000 },
- { '9', event_Change_Glyph, -100 },
- { '0', event_Change_Glyph, 100 },
- { 'i', event_Change_Glyph, -10 },
- { 'o', event_Change_Glyph, 10 },
- { 'k', event_Change_Glyph, -1 },
- { 'l', event_Change_Glyph, 1 },
-
- { '+', event_Scale_Glyph, 10 },
- { '-', event_Scale_Glyph, -10 },
- { 'u', event_Scale_Glyph, 1 },
- { 'j', event_Scale_Glyph, -1 }
- };
-
- /* handle of the window. */
- static HWND hwndGraphic;
-
- /* bitmap information */
- static LPBITMAPINFO pbmi;
- static HBITMAP hbm;
-
- /* local event to pass on */
- static TEvent ourevent = { event_Quit, 0 };
- static int eventToProcess = 0;
-
- /* array defined in the test programs */
- extern char Header[];
-
-
-/* restores screen to its original state */
-
-int Driver_Restore_Mode()
- {
- /* The graphical window has perhaps already destroyed itself */
- if ( hwndGraphic ) {
- DestroyWindow ( hwndGraphic );
- PostMessage ( hwndGraphic, WM_QUIT, 0, 0 );
- }
-
- if ( pbmi ) free ( pbmi );
-
- return 1;
- }
-
-
-/*
- * set graphics mode
- * and create the window class and the message handling.
- */
-
-/* Declarations of the Windows-specific functions that are below. */
-static BOOL RegisterTheClass ( void );
-static BOOL CreateTheWindow ( int width, int height );
-
-
-int Driver_Set_Graphics ( int mode )
- {
- int i;
- static const RGBQUAD gray_scale[5] = {
- { 0xFF, 0xFF, 0xFF, 0 }, /* white */
- { 0xC0, 0xC0, 0xC0, 0 },
- { 0x80, 0x80, 0x80, 0 },
- { 0x40, 0x40, 0x40, 0 },
- { 0, 0, 0, 0 } }; /* black */
-
- if( ! RegisterTheClass() ) return 0; /* if already running, fails. */
-
- /* find some memory for the bitmap header */
- if ( (pbmi = malloc ( sizeof ( BITMAPINFO ) + sizeof ( RGBQUAD ) * 256 ) )
- /* 256 should really be 2 if not grayscale */
- == NULL )
- /* lack of memory; fails the process */
- return 0;
-
- /* initialize the header to appropriate values */
- memset( pbmi, 0, sizeof ( BITMAPINFO ) + sizeof ( RGBQUAD ) * 256 );
-
- switch ( mode )
- {
- case Graphics_Mode_Mono:
- pbmi->bmiHeader.biBitCount = 1;
- pbmi->bmiColors[0] = gray_scale[0];
- pbmi->bmiColors[1] = gray_scale[4];
-
- vio_ScanLineWidth = WIN_WIDTH / 8;
- vio_Width = WIN_WIDTH;
- vio_Height = WIN_HEIGHT;
-
- break;
-
- case Graphics_Mode_Gray:
- pbmi->bmiHeader.biBitCount = 8;
- pbmi->bmiHeader.biClrUsed = 5;
-
- memcpy ( &pbmi->bmiColors[0], gray_scale, sizeof gray_scale );
-
- vio_ScanLineWidth = WIN_WIDTH / 2;
- vio_Width = WIN_WIDTH / 2;
- vio_Height = WIN_HEIGHT/ 2;
-
- for ( i = 0; i < 5; ++i )
- gray_palette[i] = i;
-
- break;
-
- default:
-
- free ( pbmi );
- return 0; /* Unknown mode */
- }
-
- pbmi->bmiHeader.biSize = sizeof ( BITMAPINFOHEADER );
- pbmi->bmiHeader.biWidth = vio_Width;
- pbmi->bmiHeader.biHeight = vio_Height;
- pbmi->bmiHeader.biPlanes = 1;
-
- if ( (long) vio_Height * vio_ScanLineWidth > 0xFFE0ul )
- /* too big to work on 16-bit; fails the process */
- {
- free ( pbmi );
- return 0;
- }
-
- if( ! CreateTheWindow ( vio_Width, vio_Height ) )
- {
- free ( pbmi );
- return 0;
- }
-
- return 1; /* success even if the window was not built. */
- }
-
-
-int Driver_Display_Bitmap ( char* buffer, int lines, int cols )
- {
- HDC hDC;
-
- if ( cols * 8 != pbmi->bmiHeader.biWidth * pbmi->bmiHeader.biBitCount )
- pbmi->bmiHeader.biWidth = cols * 8 / pbmi->bmiHeader.biBitCount;
-
- hDC = GetDC ( hwndGraphic );
- SetDIBits ( hDC, hbm, 0, lines, buffer, pbmi, DIB_RGB_COLORS );
- ReleaseDC ( hwndGraphic, hDC );
-
- ShowWindow( hwndGraphic, SW_SHOW );
- InvalidateRect ( hwndGraphic, NULL, FALSE );
- UpdateWindow ( hwndGraphic );
-
- return 1; /* success */
- }
-
-
-void Get_Event( TEvent* event )
- {
- MSG msg;
-
- if ( hwndGraphic )
- {
- SetWindowText ( hwndGraphic, Header );
- }
-
- do {
- while ( PeekMessage( &msg, 0, 0, 0, PM_REMOVE ) ) {
- TranslateMessage ( &msg );
- DispatchMessage ( &msg );
- }
- if ( ! eventToProcess )
- WaitMessage();
- } while ( ! eventToProcess );
-
- event->what = ourevent.what;
- event->info = ourevent.info;
- eventToProcess = 0;
- return;
- }
-
-
-/* ---- Windows-specific stuff ------------------------------------------- */
-
-LRESULT CALLBACK Message_Process( HWND, UINT, WPARAM, LPARAM );
-
-static
-BOOL RegisterTheClass ( void )
- {
- WNDCLASS ourClass = {
- /* UINT style */ 0,
- /* WNDPROC lpfnWndProc */ Message_Process,
- /* int cbClsExtra */ 0,
- /* int cbWndExtra */ 0,
- /* HANDLE hInstance */ 0,
- /* HICON hIcon */ 0,
- /* HCURSOR hCursor */ 0,
- /* HBRUSH hbrBackground*/ 0,
- /* LPCTSTR lpszMenuName */ NULL,
- /* LPCTSTR lpszClassName*/ "FreeTypeTestGraphicDriver16"
- };
-
- if( hPrev )
- /* There is another instance of the same program. */
- /* No need to register the class. */
- return 1;
-
- ourClass.hInstance = hInst;
- ourClass.hIcon = LoadIcon(0, IDI_APPLICATION);
- ourClass.hCursor = LoadCursor(0, IDC_ARROW);
- ourClass.hbrBackground= GetStockObject(BLACK_BRUSH);
-
- return RegisterClass(&ourClass) != 0; /* return False if it fails. */
- }
-
-static
-BOOL CreateTheWindow ( int width, int height )
- {
- if ( ! (hwndGraphic = CreateWindow(
- /* LPCSTR lpszClassName; */ "FreeTypeTestGraphicDriver16",
- /* LPCSTR lpszWindowName; */ "FreeType Test Graphic Driver",
- /* DWORD dwStyle; */ WS_OVERLAPPED | WS_SYSMENU,
- /* int x; */ CW_USEDEFAULT,
- /* int y; */ CW_USEDEFAULT,
- /* int nWidth; */ width + 2*GetSystemMetrics(SM_CXBORDER),
- /* int nHeight; */ height+ GetSystemMetrics(SM_CYBORDER)
- + GetSystemMetrics(SM_CYCAPTION),
- /* HWND hwndParent; */ HWND_DESKTOP,
- /* HMENU hmenu; */ 0,
- /* HINSTANCE hinst; */ hInst,
- /* void FAR* lpvParam; */ NULL))
- )
- /* creation failed... */
- return 0;
-
- return 1;
- }
-
- /* Message processing for our Windows class */
-LRESULT CALLBACK Message_Process( HWND handle, UINT mess,
- WPARAM wParam, LPARAM lParam )
- {
-
- switch( mess )
- {
- case WM_DESTROY:
- /* warn the main thread to quit if it didn't know */
- ourevent.what = event_Quit;
- ourevent.info = 0;
- eventToProcess = 1;
- hwndGraphic = 0;
- PostQuitMessage ( 0 );
- DeleteObject ( hbm );
- break;
-
- case WM_CREATE:
- {
- HDC hDC;
-
- hDC = GetDC ( handle );
- hbm = CreateDIBitmap (
- /* HDC hdc; handle of device context */ hDC,
- /* BITMAPINFOHEADER FAR* lpbmih; addr.of header*/ &pbmi->bmiHeader,
- /* DWORD dwInit; CBM_INIT to initialize bitmap */ 0,
- /* const void FAR* lpvBits; address of values */ NULL,
- /* BITMAPINFO FAR* lpbmi; addr.of bitmap data */ pbmi,
- /* UINT fnColorUse; RGB or palette indices */ DIB_RGB_COLORS);
- ReleaseDC ( handle, hDC );
- break;
- }
-
- case WM_PAINT:
- {
- HDC hDC, memDC;
- HANDLE oldbm;
- PAINTSTRUCT ps;
-
- hDC = BeginPaint ( handle, &ps );
- memDC = CreateCompatibleDC(hDC);
- oldbm = SelectObject(memDC, hbm);
- BitBlt ( hDC, 0, 0, vio_Width, vio_Height, memDC, 0, 0, SRCCOPY);
- ReleaseDC ( handle, hDC );
- SelectObject ( memDC, oldbm );
- DeleteObject ( memDC );
- EndPaint ( handle, &ps );
- }
-
- case WM_KEYDOWN:
- switch ( wParam )
- {
- case VK_ESCAPE:
- ourevent.what = event_Quit;
- ourevent.info = 0;
- eventToProcess = 1;
- break;
-
- case VK_F1: /* bring up help and about dialog window */
- break;
- }
- break;
-
- case WM_CHAR:
- {
- char c = wParam ;
- int i;
-
- for ( i = 0; i < NUM_Translators; i++ )
- {
- if ( c == trans[i].key )
- {
- ourevent.what = trans[i].event_class;
- ourevent.info = trans[i].event_info;
- eventToProcess = 1;
- return 0;
- }
- }
-
- /* unrecognized keystroke */
- ourevent.what = event_Keyboard;
- ourevent.info = (int)c;
- eventToProcess = 1;
- }
- break;
-
- default:
- return DefWindowProc( handle, mess, wParam, lParam );
- }
-
- return 0;
- }
-
-/* End */