aboutsummaryrefslogtreecommitdiffstats
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
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
-rw-r--r--changelog.txt5
-rw-r--r--demos/games/tetris/tetris.c2
-rw-r--r--demos/modules/gdisp/fonts/main.c4
-rw-r--r--demos/tools/touch_calibration_grabber/main.c2
-rw-r--r--demos/tools/touch_driver_test/main.c2
-rw-r--r--demos/tools/touch_raw_readings/main.c2
-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
12 files changed, 61 insertions, 51 deletions
diff --git a/changelog.txt b/changelog.txt
index 8b011a26..e11f0d81 100644
--- a/changelog.txt
+++ b/changelog.txt
@@ -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
diff --git a/demos/games/tetris/tetris.c b/demos/games/tetris/tetris.c
index 5beae2e9..e24c5122 100644
--- a/demos/games/tetris/tetris.c
+++ b/demos/games/tetris/tetris.c
@@ -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);
diff --git a/demos/modules/gdisp/fonts/main.c b/demos/modules/gdisp/fonts/main.c
index 9c351de8..ce66aabd 100644
--- a/demos/modules/gdisp/fonts/main.c
+++ b/demos/modules/gdisp/fonts/main.c
@@ -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~!@#$%^&*_-+=(){}[]<>|/\\:;,.?'\"`";
diff --git a/demos/tools/touch_calibration_grabber/main.c b/demos/tools/touch_calibration_grabber/main.c
index ac55f051..81032b83 100644
--- a/demos/tools/touch_calibration_grabber/main.c
+++ b/demos/tools/touch_calibration_grabber/main.c
@@ -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
diff --git a/demos/tools/touch_driver_test/main.c b/demos/tools/touch_driver_test/main.c
index 08d6da3b..3915c2a8 100644
--- a/demos/tools/touch_driver_test/main.c
+++ b/demos/tools/touch_driver_test/main.c
@@ -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
{
diff --git a/demos/tools/touch_raw_readings/main.c b/demos/tools/touch_raw_readings/main.c
index 416b75a5..9077b1ac 100644
--- a/demos/tools/touch_raw_readings/main.c
+++ b/demos/tools/touch_raw_readings/main.c
@@ -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
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);
}