Files
freetype/test/display.h
2023-08-27 18:03:45 +02:00

74 lines
3.4 KiB
C

/****************************************************************************/
/* */
/* The FreeType project -- a free and portable quality TrueType renderer. */
/* */
/* Copyright 1996-1999 by */
/* D. Turner, R.Wilhelm, and W. Lemberg */
/* */
/* display.h: Display component interface used by test programs */
/* */
/* This file is used to display glyphs and strings in a target window */
/* using the graphics drivers provided by gmain.c, gevents.h, etc. */
/* */
/* Its role is to be shared and heavely commented to let people understand */
/* how we do the job... */
/* */
/* See comments in display.c for a full description! */
/* */
/****************************************************************************/
#ifndef DISPLAY_H
#define DISPLAY_H
#include "freetype.h" /* TT_Raster_Map */
/* The target bitmap or pixmap -- covering the full display window/screen */
extern TT_Raster_Map Bit;
/* A smaller intermediate bitmap used to render individual glyphs when */
/* font smoothing mode is activated. It is then or-ed to `Bit'. */
extern TT_Raster_Map Small_Bit;
/* the virtual palette */
extern unsigned char virtual_palette[5];
/* Or-ing the possible palette values gets us from 0 to 7 */
/* We must bound check these... */
extern unsigned char bounded_palette[8];
/* Clears the Bit bitmap/pixmap */
void Clear_Display( void );
/* Clears the Small_Bit pixmap */
void Clear_Small( void );
/* Initialize the display bitmap named Bit */
int Init_Display( int font_smoothing );
/* Initialize Small Bitmap */
int Init_Small( int x_ppem, int y_ppem );
/* Convert the display pixmap from virtual to display palette */
void Convert_To_Display_Palette( void );
/* Render a single glyph into the display bit/pixmap. */
/* */
/* Note that in b/w mode, we simply render the glyph directly into */
/* the display map, as the scan-line converter or-es the glyph into */
/* the target bitmap. */
/* */
/* In gray mode, however, the glyph is first rendered individually in */
/* the Small_Bit map, then 'or-ed' with bounding into the display */
/* pixmap. */
/* */
TT_Error Render_Single_Glyph( int font_smoothing,
TT_Glyph glyph,
int x_offset,
int y_offset );
#endif /* DISPLAY_H */
/* End */