Added type gFontmetric to replace V2.x fontmetric_t, and values gFontXXX replace fontXXX
This commit is contained in:
parent
2e8eaa3471
commit
a24fab0d72
@ -23,8 +23,9 @@ CHANGE: Added type gPoint to replace V2.x point and point_t
|
||||
CHANGE: Added type gCoord to replace V2.x coord_t
|
||||
CHANGE: Added type gPixel to replace V2.x pixel_t
|
||||
CHANGE: Added type gColor to replace V2.x color_t
|
||||
CHANGE: Added type gPowermode to replace V2.x powermode_t, and values gPowerXXX replace powerXXX
|
||||
CHANGE: Added type gJustify to replace V2.x justify_t, and values gJustifyXXX replace justifyXXX
|
||||
CHANGE: Added type gPowermode to replace V2.x powermode_t, and values gPowerXXX replace powerXXX
|
||||
CHANGE: Added type gJustify to replace V2.x justify_t, and values gJustifyXXX replace justifyXXX
|
||||
CHANGE: Added type gFontmetric to replace V2.x fontmetric_t, and values gFontXXX replace fontXXX
|
||||
FIX: Added gfxRealloc() to Qt port
|
||||
FIX: Fixed UC1610 driver private area initialisation
|
||||
FIX: Fixed ST7735 driver and added kapacuk changes
|
||||
|
@ -262,7 +262,7 @@ static void printGameOver(void) {
|
||||
}
|
||||
|
||||
static void printTouchAreas(void) {
|
||||
gdispDrawStringBox(0, 0, gdispGetWidth(), gdispGetFontMetric(font16, fontHeight), "Touch Area's", font16, GFX_WHITE, gJustifyCenter);
|
||||
gdispDrawStringBox(0, 0, gdispGetWidth(), gdispGetFontMetric(font16, gFontHeight), "Touch Area's", font16, GFX_WHITE, gJustifyCenter);
|
||||
gdispDrawStringBox(0, 0, gdispGetWidth(), gdispGetHeight()/4, "Pause", font16, GFX_GRAY, gJustifyCenter);
|
||||
gdispDrawStringBox(0, gdispGetHeight()/4, gdispGetWidth(), gdispGetHeight()/2, "Rotate", font16, GFX_GRAY, gJustifyCenter);
|
||||
gdispDrawStringBox(0, gdispGetHeight()-(gdispGetHeight()/4), gdispGetWidth()/4, gdispGetHeight()/4, "Left", font16, GFX_GRAY, gJustifyCenter);
|
||||
|
@ -53,8 +53,8 @@ int main(void) {
|
||||
//font2 = gdispOpenFont("Apple*");
|
||||
|
||||
y = 0;
|
||||
fheight1 = gdispGetFontMetric(font1, fontHeight)+2;
|
||||
fheight2 = gdispGetFontMetric(font2, fontHeight)+2;
|
||||
fheight1 = gdispGetFontMetric(font1, gFontHeight)+2;
|
||||
fheight2 = gdispGetFontMetric(font2, gFontHeight)+2;
|
||||
|
||||
line1 = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
|
||||
line2 = "0123456789~!@#$%^&*_-+=(){}[]<>|/\\:;,.?'\"`";
|
||||
|
@ -55,7 +55,7 @@ int main(void) {
|
||||
// Create our title
|
||||
font = gdispOpenFont("UI2");
|
||||
gwinSetDefaultFont(font);
|
||||
bHeight = gdispGetFontMetric(font, fontHeight)+4;
|
||||
bHeight = gdispGetFontMetric(font, gFontHeight)+4;
|
||||
gdispFillStringBox(0, 0, swidth, bHeight, "Touchscreen Calibration Grabber", font, GFX_RED, GFX_WHITE, gJustifyCenter);
|
||||
|
||||
// Create our main display writing window
|
||||
|
@ -115,7 +115,7 @@ int main(void) {
|
||||
bHeight = gdispGetStringWidth("-", font)*2;
|
||||
if (bHeight > bWidth2) bWidth2 = bHeight;
|
||||
bWidth2 += 4;
|
||||
bHeight = gdispGetFontMetric(font, fontHeight)*2+2;
|
||||
bHeight = gdispGetFontMetric(font, gFontHeight)*2+2;
|
||||
|
||||
// Create our main display window
|
||||
{
|
||||
|
@ -60,7 +60,7 @@ int main(void) {
|
||||
// Create our title
|
||||
font = gdispOpenFont("UI2");
|
||||
gwinSetDefaultFont(font);
|
||||
bHeight = gdispGetFontMetric(font, fontHeight)+4;
|
||||
bHeight = gdispGetFontMetric(font, gFontHeight)+4;
|
||||
gdispFillStringBox(0, 0, swidth, bHeight, "Raw Touch Readings", font, GFX_RED, GFX_WHITE, gJustifyCenter);
|
||||
|
||||
// Create our main display writing window
|
||||
|
@ -3608,19 +3608,19 @@ void gdispGDrawBox(GDisplay *g, gCoord x, gCoord y, gCoord cx, gCoord cy, gColor
|
||||
MUTEX_EXIT(g);
|
||||
}
|
||||
|
||||
gCoord gdispGetFontMetric(font_t font, fontmetric_t metric) {
|
||||
gCoord gdispGetFontMetric(font_t font, gFontmetric metric) {
|
||||
if (!font)
|
||||
return 0;
|
||||
/* No mutex required as we only read static data */
|
||||
switch(metric) {
|
||||
case fontHeight: return font->height;
|
||||
case fontDescendersHeight: return font->height - font->baseline_y;
|
||||
case fontLineSpacing: return font->line_height;
|
||||
case fontCharPadding: return 0;
|
||||
case fontMinWidth: return font->min_x_advance;
|
||||
case fontMaxWidth: return font->max_x_advance;
|
||||
case fontBaselineX: return font->baseline_x;
|
||||
case fontBaselineY: return font->baseline_y;
|
||||
case gFontHeight: return font->height;
|
||||
case gFontDescendersHeight: return font->height - font->baseline_y;
|
||||
case gFontLineSpacing: return font->line_height;
|
||||
case gFontCharPadding: return 0;
|
||||
case gFontMinWidth: return font->min_x_advance;
|
||||
case gFontMaxWidth: return font->max_x_advance;
|
||||
case gFontBaselineX: return font->baseline_x;
|
||||
case gFontBaselineY: return font->baseline_y;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
@ -73,19 +73,19 @@ typedef enum gJustify {
|
||||
#define JUSTIFYMASK_TOPBOTTOM (gJustifyTop|gJustifyMiddle|gJustifyBottom)
|
||||
|
||||
/**
|
||||
* @enum fontmetric
|
||||
* @enum gFontmetric
|
||||
* @brief Type for the font metric.
|
||||
*/
|
||||
typedef enum fontmetric {
|
||||
fontHeight, /**< The height of the font */
|
||||
fontDescendersHeight, /**< The descenders height */
|
||||
fontLineSpacing, /**< The line spacing */
|
||||
fontCharPadding, /**< The char padding */
|
||||
fontMinWidth, /**< The minimum width */
|
||||
fontMaxWidth, /**< The maximum width */
|
||||
fontBaselineX, /**< The base line in x direction */
|
||||
fontBaselineY /**< The base line in y direction */
|
||||
} fontmetric_t;
|
||||
typedef enum gFontmetric {
|
||||
gFontHeight, /**< The height of the font */
|
||||
gFontDescendersHeight, /**< The descenders height */
|
||||
gFontLineSpacing, /**< The line spacing */
|
||||
gFontCharPadding, /**< The char padding */
|
||||
gFontMinWidth, /**< The minimum width */
|
||||
gFontMaxWidth, /**< The maximum width */
|
||||
gFontBaselineX, /**< The base line in x direction */
|
||||
gFontBaselineY /**< The base line in y direction */
|
||||
} gFontmetric;
|
||||
|
||||
/**
|
||||
* @brief The type of a font.
|
||||
@ -1013,7 +1013,7 @@ void gdispGDrawBox(GDisplay *g, gCoord x, gCoord y, gCoord cx, gCoord cy, gColor
|
||||
*
|
||||
* @api
|
||||
*/
|
||||
gCoord gdispGetFontMetric(font_t font, fontmetric_t metric);
|
||||
gCoord gdispGetFontMetric(font_t font, gFontmetric metric);
|
||||
|
||||
/**
|
||||
* @brief Get the pixel width of a character.
|
||||
@ -1230,6 +1230,10 @@ void gdispGDrawBox(GDisplay *g, gCoord x, gCoord y, gCoord cx, gCoord cy, gColor
|
||||
|
||||
/* V2 compatibility */
|
||||
#if GFX_COMPAT_V2
|
||||
typedef gColor color_t;
|
||||
typedef gPixel pixel_t;
|
||||
typedef gCoord coord_t;
|
||||
typedef gPoint point, point_t;
|
||||
typedef gPowermode powermode_t;
|
||||
#define powerOff gPowerOff
|
||||
#define powerDeepSleep gPowerDeepSleep
|
||||
@ -1246,10 +1250,15 @@ void gdispGDrawBox(GDisplay *g, gCoord x, gCoord y, gCoord cx, gCoord cy, gColor
|
||||
#define justifyNoWordWrap gJustifyNoWordWrap
|
||||
#define justifyPad gJustifyPad
|
||||
#define justifyNoPad gJustifyNoPad
|
||||
typedef gColor color_t;
|
||||
typedef gPixel pixel_t;
|
||||
typedef gCoord coord_t;
|
||||
typedef gPoint point, point_t;
|
||||
typedef gFontmetric fontmetric_t;
|
||||
#define fontHeight gFontHeight
|
||||
#define fontDescendersHeight gFontDescendersHeight
|
||||
#define fontLineSpacing gFontLineSpacing
|
||||
#define fontCharPadding gFontCharPadding
|
||||
#define fontMinWidth gFontMinWidth
|
||||
#define fontMaxWidth gFontMaxWidth
|
||||
#define fontBaselineX gFontBaselineX
|
||||
#define fontBaselineY gFontBaselineY
|
||||
#endif
|
||||
|
||||
#endif /* GFX_USE_GDISP */
|
||||
|
@ -200,7 +200,7 @@
|
||||
return;
|
||||
|
||||
// Handle vertical size decrease - We have to scroll out first lines of the log
|
||||
fy = gdispGetFontMetric(gh->font, fontHeight);
|
||||
fy = gdispGetFontMetric(gh->font, gFontHeight);
|
||||
while (gcw->cy > gh->height) {
|
||||
scrollBuffer(gcw);
|
||||
gcw->cy -= fy;
|
||||
@ -233,7 +233,7 @@
|
||||
|
||||
y = gcw->cy;
|
||||
if (gcw->cx)
|
||||
y += gdispGetFontMetric(gh->font, fontHeight);
|
||||
y += gdispGetFontMetric(gh->font, gFontHeight);
|
||||
if (y < gh->height)
|
||||
gdispGFillArea(gh->display, gh->x, gh->y+y, gh->width, gh->height-y, gh->bgcolor);
|
||||
}
|
||||
@ -397,14 +397,14 @@ GHandle gwinGConsoleCreate(GDisplay *g, GConsoleObject *gc, const GWindowInit *p
|
||||
|
||||
// Get the number of characters that fit in the x direction
|
||||
#if GWIN_CONSOLE_HISTORY_AVERAGING
|
||||
gcw->bufsize = gh->width / ((2*gdispGetFontMetric(gh->font, fontMinWidth)+gdispGetFontMetric(gh->font, fontMaxWidth))/3);
|
||||
gcw->bufsize = gh->width / ((2*gdispGetFontMetric(gh->font, gFontMinWidth)+gdispGetFontMetric(gh->font, gFontMaxWidth))/3);
|
||||
#else
|
||||
gcw->bufsize = gh->width / gdispGetFontMetric(gh->font, fontMinWidth);
|
||||
gcw->bufsize = gh->width / gdispGetFontMetric(gh->font, gFontMinWidth);
|
||||
#endif
|
||||
gcw->bufsize++; // Allow space for a newline on each line.
|
||||
|
||||
// Multiply by the number of lines
|
||||
gcw->bufsize *= gh->height / gdispGetFontMetric(gh->font, fontHeight);
|
||||
gcw->bufsize *= gh->height / gdispGetFontMetric(gh->font, gFontHeight);
|
||||
|
||||
// Allocate the buffer
|
||||
if (!(gcw->buffer = gfxAlloc(gcw->bufsize)))
|
||||
@ -438,7 +438,7 @@ void gwinPutChar(GHandle gh, char c) {
|
||||
if (gh->vmt != &consoleVMT || !gh->font)
|
||||
return;
|
||||
|
||||
fy = gdispGetFontMetric(gh->font, fontHeight);
|
||||
fy = gdispGetFontMetric(gh->font, gFontHeight);
|
||||
|
||||
#if GWIN_CONSOLE_ESCSEQ
|
||||
/**
|
||||
@ -603,8 +603,8 @@ void gwinPutChar(GHandle gh, char c) {
|
||||
#if GWIN_CONSOLE_ESCSEQ
|
||||
// Draw the underline
|
||||
if ((gcw->currattr & ESC_UNDERLINE))
|
||||
gdispGDrawLine(gh->display, gh->x + gcw->cx, gh->y + gcw->cy + fy - gdispGetFontMetric(gh->font, fontDescendersHeight),
|
||||
gh->x + gcw->cx + width + gdispGetFontMetric(gh->font, fontCharPadding), gh->y + gcw->cy + fy - gdispGetFontMetric(gh->font, fontDescendersHeight),
|
||||
gdispGDrawLine(gh->display, gh->x + gcw->cx, gh->y + gcw->cy + fy - gdispGetFontMetric(gh->font, gFontDescendersHeight),
|
||||
gh->x + gcw->cx + width + gdispGetFontMetric(gh->font, gFontCharPadding), gh->y + gcw->cy + fy - gdispGetFontMetric(gh->font, gFontDescendersHeight),
|
||||
ESCPrintColor(gcw));
|
||||
// Bold (very crude)
|
||||
if ((gcw->currattr & ESC_BOLD))
|
||||
@ -615,7 +615,7 @@ void gwinPutChar(GHandle gh, char c) {
|
||||
}
|
||||
|
||||
// Update the cursor
|
||||
gcw->cx += width + gdispGetFontMetric(gh->font, fontCharPadding);
|
||||
gcw->cx += width + gdispGetFontMetric(gh->font, gFontCharPadding);
|
||||
|
||||
#undef gcw
|
||||
}
|
||||
|
@ -32,7 +32,7 @@ static gCoord getheight(const char *text, font_t font, gCoord maxwidth) {
|
||||
(void) text;
|
||||
(void) maxwidth;
|
||||
|
||||
return gdispGetFontMetric(font, fontHeight);
|
||||
return gdispGetFontMetric(font, gFontHeight);
|
||||
}
|
||||
|
||||
static const gwidgetVMT labelVMT = {
|
||||
|
@ -60,7 +60,7 @@ static void sendListEvent(GWidgetObject *gw, int item) {
|
||||
gCoord iheight;
|
||||
(void) x;
|
||||
|
||||
iheight = gdispGetFontMetric(gw->g.font, fontHeight) + LST_VERT_PAD;
|
||||
iheight = gdispGetFontMetric(gw->g.font, gFontHeight) + LST_VERT_PAD;
|
||||
|
||||
// Handle click over the list area
|
||||
item = (gw2obj->top + y) / iheight;
|
||||
@ -101,7 +101,7 @@ static void sendListEvent(GWidgetObject *gw, int item) {
|
||||
return;
|
||||
|
||||
// Some initial stuff
|
||||
iheight = gdispGetFontMetric(gw->g.font, fontHeight) + LST_VERT_PAD;
|
||||
iheight = gdispGetFontMetric(gw->g.font, gFontHeight) + LST_VERT_PAD;
|
||||
pgsz = gw->g.height-2;
|
||||
|
||||
// Handle click over the scroll bar
|
||||
@ -163,7 +163,7 @@ static void sendListEvent(GWidgetObject *gw, int item) {
|
||||
|
||||
if (gw2obj->last_mouse_y != y) {
|
||||
oldtop = gw2obj->top;
|
||||
iheight = gdispGetFontMetric(gw->g.font, fontHeight) + LST_VERT_PAD;
|
||||
iheight = gdispGetFontMetric(gw->g.font, gFontHeight) + LST_VERT_PAD;
|
||||
|
||||
gw2obj->top -= y - gw2obj->last_mouse_y;
|
||||
if (gw2obj->top >= gw2obj->cnt * iheight - (gw->g.height-2))
|
||||
@ -185,7 +185,7 @@ static void sendListEvent(GWidgetObject *gw, int item) {
|
||||
int i;
|
||||
|
||||
gCoord iheight;
|
||||
iheight = gdispGetFontMetric(gw->g.font, fontHeight) + LST_VERT_PAD;
|
||||
iheight = gdispGetFontMetric(gw->g.font, gFontHeight) + LST_VERT_PAD;
|
||||
|
||||
switch (role) {
|
||||
// select down
|
||||
@ -664,7 +664,7 @@ void gwinListViewItem(GHandle gh, int item) {
|
||||
return;
|
||||
|
||||
// Work out a possible new top for the list
|
||||
iheight = gdispGetFontMetric(gh->font, fontHeight) + LST_VERT_PAD;
|
||||
iheight = gdispGetFontMetric(gh->font, gFontHeight) + LST_VERT_PAD;
|
||||
gh2obj->top = iheight * item;
|
||||
|
||||
// Adjust the list
|
||||
@ -725,7 +725,7 @@ void gwinListDefaultDraw(GWidgetObject* gw, void* param) {
|
||||
return;
|
||||
|
||||
ps = (gw->g.flags & GWIN_FLG_SYSENABLED) ? &gw->pstyle->enabled : &gw->pstyle->disabled;
|
||||
iheight = gdispGetFontMetric(gw->g.font, fontHeight) + LST_VERT_PAD;
|
||||
iheight = gdispGetFontMetric(gw->g.font, gFontHeight) + LST_VERT_PAD;
|
||||
x = 1;
|
||||
|
||||
// the scroll area
|
||||
|
@ -307,8 +307,8 @@ void gwinTexteditDefaultDraw(GWidgetObject* gw, void* param)
|
||||
// Calculate cursor stuff
|
||||
|
||||
// Draw cursor
|
||||
tpos += gw->g.x + CURSOR_PADDING_LEFT + TEXT_PADDING_LEFT + gdispGetFontMetric(gw->g.font, fontBaselineX)/2;
|
||||
cpos = (gw->g.height - gdispGetFontMetric(gw->g.font, fontHeight))/2 - CURSOR_EXTRA_HEIGHT;
|
||||
tpos += gw->g.x + CURSOR_PADDING_LEFT + TEXT_PADDING_LEFT + gdispGetFontMetric(gw->g.font, gFontBaselineX)/2;
|
||||
cpos = (gw->g.height - gdispGetFontMetric(gw->g.font, gFontHeight))/2 - CURSOR_EXTRA_HEIGHT;
|
||||
gdispGDrawLine(gw->g.display, tpos, gw->g.y + cpos, tpos, gw->g.y + gw->g.height - cpos, pcol->edge);
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user