Skip to content

Commit 62e549c

Browse files
committed
add fontMarginX to gfxOut
and support on u8g2
1 parent c2574e2 commit 62e549c

File tree

3 files changed

+23
-3
lines changed

3 files changed

+23
-3
lines changed

library.properties

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
name=ArduinoMenu library
2-
version=4.7.2
2+
version=4.8.0
33
author=Rui Azevedo, [email protected]
44
maintainer=neu-rah, [email protected]
55
sentence=Generic menu/interactivity system

src/io.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -140,9 +140,10 @@
140140
public:
141141
idx_t resX=1;
142142
idx_t resY=1;
143+
idx_t fontMarginX=1;//in pixels, compensate vertical font alignment
143144
idx_t fontMarginY=1;//in pixels, compensate vertical font alignment
144145
gfxOut(idx_t rx,idx_t ry,idx_t* t,panelsList &p,menuOut::styles st=menuOut::minimalRedraw,idx_t fontMarginY=1)
145-
:menuOut(t,p,st),resX(rx),resY(ry) {}
146+
:menuOut(t,p,st),resX(rx),resY(ry),fontMarginY(fontMarginY) {}
146147
idx_t startCursor(navRoot& root,idx_t x,idx_t y,bool charEdit,idx_t panelNr) override {
147148
if (charEdit) {
148149
rect(panelNr, x-1, y, 1, 1, bgColor, false, enabledStatus, false);

src/menuIO/u8g2Out.h

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,25 @@ namespace Menu {
3939
this->fontMarginY=fontMarginY;
4040
}
4141

42+
u8g2Out(
43+
U8G2& gfx,
44+
const colorDef<uint8_t> (&c)[nColors],
45+
idx_t* t,
46+
panelsList &p,
47+
idx_t resX,
48+
idx_t resY,
49+
idx_t offsetX,
50+
idx_t offsetY,
51+
int fontMarginX,
52+
int fontMarginY
53+
) :gfxOut(resX,resY,t,p,(styles)(menuOut::redraw|menuOut::rasterDraw)),gfx(gfx),colors(c) {
54+
gfx.setFontPosBottom(); // U8Glib font positioning
55+
this->offsetX=offsetX;
56+
this->offsetY=offsetY;
57+
this->fontMarginX=fontMarginX;
58+
this->fontMarginY=fontMarginY;
59+
}
60+
4261
size_t write(uint8_t ch) override {return gfx.write(ch);}
4362

4463
inline uint8_t getColor(colorDefs color=bgColor,bool selected=false,status stat=enabledStatus,bool edit=false) const {
@@ -79,7 +98,7 @@ namespace Menu {
7998

8099
void setCursor(idx_t x,idx_t y,idx_t panelNr=0) override {
81100
const panel p=panels[panelNr];
82-
gfx.tx = (p.x+x)*resX/*+fontMarginX*/ + offsetX;
101+
gfx.tx = (p.x+x)*resX+fontMarginX + offsetX;
83102
gfx.ty = (p.y+y+1)*resY-fontMarginY + offsetY;
84103
}
85104

0 commit comments

Comments
 (0)