aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorinmarket <andrewh@inmarket.com.au>2018-07-08 12:50:05 +1000
committerinmarket <andrewh@inmarket.com.au>2018-07-08 12:50:05 +1000
commita24fab0d7217aaae1463f62d5d1381ef820cfa17 (patch)
tree73f3bb1b93d13d9ee4161e0a994e5b53f70af93b /src
parent2e8eaa34717f99c9696867b62ff5f19e76a7ccf8 (diff)
downloaduGFX-a24fab0d7217aaae1463f62d5d1381ef820cfa17.tar.gz
uGFX-a24fab0d7217aaae1463f62d5d1381ef820cfa17.tar.bz2
uGFX-a24fab0d7217aaae1463f62d5d1381ef820cfa17.zip
Added type gFontmetric to replace V2.x fontmetric_t, and values gFontXXX replace fontXXX
Diffstat (limited to 'src')
-rw-r--r--src/gdisp/gdisp.c18
-rw-r--r--src/gdisp/gdisp.h41
-rw-r--r--src/gwin/gwin_console.c18
-rw-r--r--src/gwin/gwin_label.c2
-rw-r--r--src/gwin/gwin_list.c12
-rw-r--r--src/gwin/gwin_textedit.c4
6 files changed, 52 insertions, 43 deletions
diff --git a/src/gdisp/gdisp.c b/src/gdisp/gdisp.c
index 1dbd26b2..323699d2 100644
--- a/src/gdisp/gdisp.c
+++ b/src/gdisp/gdisp.c
@@ -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;
}
diff --git a/src/gdisp/gdisp.h b/src/gdisp/gdisp.h
index aac33e44..ed6e7c6a 100644
--- a/src/gdisp/gdisp.h
+++ b/src/gdisp/gdisp.h
@@ -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 */
diff --git a/src/gwin/gwin_console.c b/src/gwin/gwin_console.c
index c5db3da8..668dd116 100644
--- a/src/gwin/gwin_console.c
+++ b/src/gwin/gwin_console.c
@@ -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
}
diff --git a/src/gwin/gwin_label.c b/src/gwin/gwin_label.c
index 88573210..97b9f304 100644
--- a/src/gwin/gwin_label.c
+++ b/src/gwin/gwin_label.c
@@ -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 = {
diff --git a/src/gwin/gwin_list.c b/src/gwin/gwin_list.c
index d832f99a..cd21623d 100644
--- a/src/gwin/gwin_list.c
+++ b/src/gwin/gwin_list.c
@@ -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
diff --git a/src/gwin/gwin_textedit.c b/src/gwin/gwin_textedit.c
index 590780cf..3373ab34 100644
--- a/src/gwin/gwin_textedit.c
+++ b/src/gwin/gwin_textedit.c
@@ -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);
}