#define NCF_FILE "/var/tuxbox/config/neutrino.conf"
#define BUFSIZE 1024
-#define I_VERSION 2.03
+#define I_VERSION 2.10
char FONT[128]="/share/fonts/neutrino.ttf";
return rv;
}
+int scale2res(int s)
+{
+ if (var_screeninfo.xres == 1920)
+ s += s/2;
+
+ return s;
+}
+
void TrimString(char *strg)
{
char *pt1=strg, *pt2=strg;
return 0;
}
+ //init framebuffer before 1st scale2res
+ fb = open(FB_DEVICE, O_RDWR);
+ if(fb == -1)
+ {
+ perror(__plugin__ " <open framebuffer device>");
+ exit(1);
+ }
+ if(ioctl(fb, FBIOGET_FSCREENINFO, &fix_screeninfo) == -1)
+ {
+ perror(__plugin__ " <FBIOGET_FSCREENINFO>\n");
+ return -1;
+ }
+ if(ioctl(fb, FBIOGET_VSCREENINFO, &var_screeninfo) == -1)
+ {
+ perror(__plugin__ " <FBIOGET_VSCREENINFO>\n");
+ return -1;
+ }
+
+ if(!(lfb = (uint32_t*)mmap(0, fix_screeninfo.smem_len, PROT_READ | PROT_WRITE, MAP_SHARED, fb, 0)))
+ {
+ perror(__plugin__ " <mapping of Framebuffer>\n");
+ return -1;
+ }
+
+ // read arguments
dloop=0;
for(tv=1; !dloop && tv<argc; tv++)
{
else
sprintf(line_buffer,"screen_StartX_%s_%d", spres[spr], resolution);
if((sx=Read_Neutrino_Cfg(line_buffer))<0)
- sx=100;
+ sx=scale2res(100);
if (resolution == -1)
sprintf(line_buffer,"screen_EndX_%s", spres[spr]);
else
sprintf(line_buffer,"screen_EndX_%s_%d", spres[spr], resolution);
if((ex=Read_Neutrino_Cfg(line_buffer))<0)
- ex=1180;
+ ex=scale2res(1180);
if (resolution == -1)
sprintf(line_buffer,"screen_StartY_%s", spres[spr]);
else
sprintf(line_buffer,"screen_StartY_%s_%d", spres[spr], resolution);
if((sy=Read_Neutrino_Cfg(line_buffer))<0)
- sy=100;
+ sy=scale2res(100);
if (resolution == -1)
sprintf(line_buffer,"screen_EndY_%s", spres[spr]);
else
sprintf(line_buffer,"screen_EndY_%s_%d", spres[spr], resolution);
if((ey=Read_Neutrino_Cfg(line_buffer))<0)
- ey=620;
+ ey=scale2res(620);
for(ix=CMCST; ix<=CMH; ix++)
{
bgra[ix] = (tr[ix] << 24) | (rd[ix] << 16) | (gn[ix] << 8) | bl[ix];
if(Read_Neutrino_Cfg("rounded_corners")>0)
- radius=11;
+ radius=scale2res(11);
else
radius = 0;
- fb = open(FB_DEVICE, O_RDWR);
- if(fb == -1)
- {
- perror(__plugin__ " <open framebuffer device>");
- exit(1);
- }
-
InitRC();
if((trstr=malloc(BUFSIZE))==NULL)
return -1;
}
- //init framebuffer
-
- if(ioctl(fb, FBIOGET_FSCREENINFO, &fix_screeninfo) == -1)
- {
- perror(__plugin__ " <FBIOGET_FSCREENINFO>\n");
- return -1;
- }
- if(ioctl(fb, FBIOGET_VSCREENINFO, &var_screeninfo) == -1)
- {
- perror(__plugin__ " <FBIOGET_VSCREENINFO>\n");
- return -1;
- }
-
- if(!(lfb = (uint32_t*)mmap(0, fix_screeninfo.smem_len, PROT_READ | PROT_WRITE, MAP_SHARED, fb, 0)))
- {
- perror(__plugin__ " <mapping of Framebuffer>\n");
- return -1;
- }
//init fontlibrary
startx = sx;
starty = sy;
+ /* scale to resolution */
+ FSIZE_BIG = scale2res(FSIZE_BIG);
+ FSIZE_MED = scale2res(FSIZE_MED);
+ FSIZE_SMALL = scale2res(FSIZE_SMALL);
+
+ TABULATOR = scale2res(TABULATOR);
+
+ OFFSET_MED = scale2res(OFFSET_MED);
+ OFFSET_SMALL = scale2res(OFFSET_SMALL);
+ OFFSET_MIN = scale2res(OFFSET_MIN);
+
+ /* Set up signal handlers. */
signal(SIGINT, quit_signal);
signal(SIGQUIT, quit_signal);
signal(SIGTERM, quit_signal);
#include "pngw.h"
-#define xbrd 25
-#define ybrd 25
-#define exsz 23
-#define eysz 38
-#define bxsz 60
-#define bysz 60
-#define hsz 50
-#define tys 30
+#define xbrd scale2res(25)
+#define ybrd scale2res(25)
+#define exsz scale2res(23)
+#define eysz scale2res(38)
+#define bxsz scale2res(60)
+#define bysz scale2res(60)
+#define hsz scale2res(50)
+#define tys scale2res(30)
#define NUM '#'
#define ANUM '@'
#define HEX '^'
format=form;
estr=strdup(form);
cnt=strlen(form);
- tlen=i=GetStringLen(title, BIG)+10;
+ tlen=i=GetStringLen(title, BIG)+OFFSET_MED;
j=((cnt>cols)?cols:cnt)*exsz;
if(j>i)
{
}
}
wxw=i+2*xbrd;
- wxw=(keys==1 && wxw < 265) ? 265 : wxw;
+ wxw=(keys==1 && wxw < scale2res(265)) ? scale2res(265) : wxw;
i=(((cnt-1)/cols)+1)*eysz;
if(keys)
estr[i]=0;
// icon & title
- RenderBox(wxs+6, wys-hsz+6, wxs+wxw+6, wys+wyw+6, radius, COL_SHADOW_PLUS_0);
+ RenderBox(wxs+OFFSET_SMALL, wys-hsz+OFFSET_SMALL, wxs+wxw+OFFSET_SMALL, wys+wyw+OFFSET_SMALL, radius, COL_SHADOW_PLUS_0);
RenderBox(wxs, wys-hsz, wxs+wxw, wys+wyw, radius, CMC);
RenderBox(wxs, wys-hsz, wxs+wxw, wys, radius, CMH);
png_getsize(ICON_KEYS, &icon_w, &icon_h);
if(icon_w > 40 || icon_h > 40)
icon_w = icon_h = xsize = ysize = 40;
- paintIcon(ICON_KEYS, wxs+8, wys-hsz/2-icon_h/2, xsize, ysize, &iw, &ih);
+ int offw = OFFSET_SMALL+OFFSET_MIN;
+ paintIcon(ICON_KEYS, wxs+offw, wys-hsz/2-icon_h/2, xsize, ysize, &iw, &ih);
int tstart, twide;
- if(wxs+8+iw >= wxs+wxw-8-iw-tlen ) {
- tstart = wxs+8+iw;
- twide = wxw-8-iw;
+ if(wxs+offw+iw >= wxs+wxw-offw-iw-tlen ) {
+ tstart = wxs+offw+iw;
+ twide = wxw-offw-iw;
}
else {
tstart = wxs;
if(keys == 1)
{
png_getsize(ICON_NUMERIC_PAD, &icon_w, &icon_h);
- paintIcon(ICON_NUMERIC_PAD, wxs+wxw/2-icon_w/2, bys+10, 0, 0, &iw, &ih);
+ paintIcon(ICON_NUMERIC_PAD, wxs+wxw/2-scale2res(icon_w)/2, bys+OFFSET_MED, scale2res(icon_w), scale2res(icon_h), &iw, &ih);
}
if(keys == 2)
{
{
png_getsize(ICON_BUTTON_RED, &icon_w, &icon_h);
paintIcon(ICON_BUTTON_RED, bxs-icon_w/2, wys+wyw-ybrd-2-icon_h/2, 0, 0, &iw, &ih);
- RenderString("Groß/Klein", bxs+icon_w/2+5,wys+wyw-ybrd+10, 3*bxsz, LEFT, SMALL, CMCIT);
- paintIcon(ICON_BUTTON_YELLOW, bxs+125-icon_w/2, wys+wyw-ybrd-2-icon_h/2, 0, 0, &iw, &ih);
- RenderString("löschen", bxs+125+icon_w/2+5,wys+wyw-ybrd+10, 65, LEFT, SMALL, CMCIT);
+ RenderString("Groß/Klein", bxs+icon_w/2+OFFSET_SMALL/*5*/,wys+wyw-ybrd+OFFSET_MED/*10*/, 2*bxsz, LEFT, SMALL, CMCIT);
+ paintIcon(ICON_BUTTON_YELLOW, bxs+scale2res(125)-icon_w/2, wys+wyw-ybrd-2-icon_h/2, 0, 0, &iw, &ih);
+ RenderString("löschen", bxs+scale2res(125)+icon_w/2+OFFSET_SMALL,wys+wyw-ybrd+OFFSET_MED, bxsz, LEFT, SMALL, CMCIT);
}
while(run)
yp=i/cols;
if(frame && IsInput(format[i]))
{
- RenderBox(exs+xp*exsz, eys+5+yp*eysz, exs+(xp+1)*exsz, eys+(yp+1)*eysz, 0/*radius*/, CMS);
+ RenderBox(exs+xp*exsz, eys+OFFSET_SMALL+yp*eysz, exs+(xp+1)*exsz, eys+(yp+1)*eysz, 0/*radius*/, CMS);
}
- RenderBox(exs+xp*exsz+1, eys+5+yp*eysz+1, exs+(xp+1)*exsz-1, eys+(yp+1)*eysz-1, 0/*radius*/, (epos==i)?CMCS:CMC);
+ RenderBox(exs+xp*exsz+1, eys+OFFSET_SMALL+yp*eysz+1, exs+(xp+1)*exsz-1, eys+(yp+1)*eysz-1, 0/*radius*/, (epos==i)?CMCS:CMC);
*trnd=(mask && format[i]==NUM && IsNum(estr[i]))?'*':estr[i];
- RenderString(trnd, exs+xp*exsz, eys+yp*eysz+tys+7, exsz, CENTER, MED, (epos==i)?CMCST:(IsInput(format[i]))?CMCT:CMCIT);
+ RenderString(trnd, exs+xp*exsz, eys+yp*eysz+tys+OFFSET_SMALL/*7*/, exsz, CENTER, MED, (epos==i)?CMCST:(IsInput(format[i]))?CMCT:CMCIT);
}
memcpy(lfb, lbb, var_screeninfo.xres*var_screeninfo.yres*sizeof(uint32_t));