]> git.webhop.me Git - logomask.git/commitdiff
- upgrade to version 1.01
authorSnowHead <snowhead@spinnes-netz.de>
Mon, 6 Apr 2015 19:12:06 +0000 (21:12 +0200)
committersvenhoefer <svenhoefer@svenhoefer.com>
Mon, 6 Apr 2015 19:12:06 +0000 (21:12 +0200)
  logoset: allow changes in transparency by using volume keys

gfx.c
logomask.c
logomask.h
logoset.c
logoset.h
text.c

diff --git a/gfx.c b/gfx.c
index 7b66830f8e73880808db66fe987bd4ca6bf46bf4..8898b144af1deb434a08432b18c2e63ad75813df 100644 (file)
--- a/gfx.c
+++ b/gfx.c
@@ -12,17 +12,35 @@ gpixel *make_color(int col, gpixel *pix)
 
 void RenderBox(int sx, int sy, int ex, int ey, int mode, gpixel *pix)
 {
-       int F,ssx=startx+sx,ssy=starty+sy,dxx=ex-sx,dyy=ey-sy,rx,ry,wx,wy,count;
+       int F,ssx=sx,ssy=sy,dxx=ex-sx,dyy=ey-sy,rx,ry,wx,wy,count;
 
        unsigned char *pos=(lbb+(ssx<<2)+fix_screeninfo.line_length*ssy);
        unsigned char *pos0, *pos1, *pos2, *pos3, *i;
                
+       if (sx<0)
+       {
+               printf("[gfx.c] RenderBox called with sx < 0 (%d)\n", dxx);
+               sx=0;
+       }
+
+       if (sy<0)
+       {
+               printf("[gfx.c] RenderBox called with sy < 0 (%d)\n", dxx);
+               sy=0;
+       }
+
        if (dxx<0) 
        {
                printf("[gfx.c] RenderBox called with dx < 0 (%d)\n", dxx);
                dxx=0;
        }
 
+       if (dyy<0)
+       {
+               printf("[gfx.c] RenderBox called with dyy < 0 (%d)\n", dxx);
+               dyy=0;
+       }
+
        if(mode==FILL)
        {
                for (count=0; count<dyy; count++)
index 7f1102ca40c54e87803077eb5256cd0d0af91e8b..6d0534ad34df3d8953dcec4933bc55deb4bfeadc 100644 (file)
@@ -10,7 +10,7 @@ extern int FSIZE_SMALL;
 #define NCF_FILE "/var/tuxbox/config/neutrino.conf"
 #define CFG_FILE "/var/tuxbox/config/logomask.conf"
 
-#define CL_VERSION  "1.00"
+#define CL_VERSION  "1.01"
 #define MAX_MASK 16
 
 //                                     TRANSP, BLACK,  RED,    GREEN,  YELLOW, BLUE,   MAGENTA, TURQUOISE,
@@ -138,10 +138,6 @@ int main (int argc, char **argv)
                }
 
                memset(lbb, 0, fix_screeninfo.line_length*var_screeninfo.yres);
-//             memset(mc, BLACK, sizeof(mc));
-               startx = sx;
-               starty = sy;
-
 
        // if problem with config file return from plugin
 
index 841b057936c76234c994870a42ecdc891fb60b20..6931a246d7dfdfff09e6cc146665b08e8f2b9b4c 100644 (file)
@@ -89,9 +89,6 @@ extern unsigned char *lfb, *lbb;
 struct fb_fix_screeninfo fix_screeninfo;
 struct fb_var_screeninfo var_screeninfo;
 
-int startx, starty, sx, ex, sy, ey;
-char online;
-
 #define FB_DEVICE      "/dev/fb/0"
 
 #define BUFSIZE 4096
index 66141ae08e9a978cd1096d2cfabdb607d87c5f83..7b811f3c704f31e50571d5f9178fbe92888a6f90 100644 (file)
--- a/logoset.c
+++ b/logoset.c
@@ -13,7 +13,7 @@ extern int FSIZE_SMALL;
 #define CFG_FILE "/var/tuxbox/config/logomask.conf"
 unsigned char FONT[64]= "/share/fonts/pakenham.ttf";
 
-#define CL_VERSION  "1.00"
+#define CL_VERSION  "1.01"
 #define MAX_MASK 16
 
 //                                     TRANSP, BLACK,  RED,    GREEN,  YELLOW, BLUE,   MAGENTA, TURQUOISE,
@@ -74,7 +74,7 @@ int main (int argc, char **argv)
        FILE *fh,*fh2;
        char *cpt1,*cpt2;
        gpixel mp, mc[MAX_MASK], tp;
-       int tsx=startx+450, tsy=starty+120, tdy=24, tsz=28, txw=500, tcol=TURQUOISE;
+       int tsx=430, tsy=120, tdy=24, tsz=28, txw=500, tcol=TURQUOISE;
        int xp[MAX_MASK][8],yp[MAX_MASK][8],xw[MAX_MASK][8],yw[MAX_MASK][8],valid[MAX_MASK],cmc[MAX_MASK],xxp,xxw,yyp,yyw,nmsk=0,amsk=0;
        double xs=1.0, ys=1.0;
        time_t t1,t2;
@@ -184,9 +184,6 @@ int main (int argc, char **argv)
 
                memset(lbb, 0, fix_screeninfo.line_length*var_screeninfo.yres);
 
-               startx = sx;
-               starty = sy;
-
                system("pzapit -gi > /tmp/logomask.chan");
                if((fh=fopen("/tmp/logomask.chan","r"))!=NULL)
                {
@@ -624,6 +621,28 @@ int main (int argc, char **argv)
                                                }
                                        break;
 
+                                       case KEY_VOLUMEDOWN:
+                                               if(nmsk)
+                                               {
+                                                       if(mc[amsk].cpixel.tr < 0xF8)
+                                                               mc[amsk].cpixel.tr+=0x08;
+                                                       else
+                                                               mc[amsk].cpixel.tr=0xFF;
+                                                       changed=1;
+                                               }
+                                       break;
+
+                                       case KEY_VOLUMEUP:
+                                               if(nmsk)
+                                               {
+                                                       if(mc[amsk].cpixel.tr > 0x08)
+                                                               mc[amsk].cpixel.tr-=0x08;
+                                                       else
+                                                               mc[amsk].cpixel.tr=0x00;
+                                                       changed=1;
+                                               }
+                                       break;
+
                                        case KEY_MUTE:
                                                if(nmsk)
                                                {
@@ -684,7 +703,7 @@ int main (int argc, char **argv)
                        {
                                xs=1.0;
                                ys=1.0;
-                               tsy=starty+120;
+                               tsy=120;
                                if(move)
                                {
                                        RenderBox(xp[amsk][pmode], yp[amsk][pmode], xp[amsk][pmode]+xw[amsk][pmode], yp[amsk][pmode]+yw[amsk][pmode], FILL, &mc[amsk]);
@@ -697,7 +716,7 @@ int main (int argc, char **argv)
                                }
                                if(help)
                                {
-                                       RenderBox(tsx,tsy,tsx+txw,tsy+20*tdy,FILL,make_color(TRANSP, &tp));
+                                       RenderBox(tsx,tsy,tsx+txw,tsy+21*tdy,FILL,make_color(TRANSP, &tp));
                                        if(nmsk)
                                                RenderBox(xp[amsk][pmode], yp[amsk][pmode], xp[amsk][pmode]+xw[amsk][pmode], yp[amsk][pmode]+yw[amsk][pmode], GRID, make_color((kmode)?LBLUE:LYELLOW, &tp));
                                        RenderString("Maskensteuerung", tsx, tsy+=tdy, txw, LEFT, tsz, tcol);
@@ -708,20 +727,22 @@ int main (int argc, char **argv)
                                        RenderString("PgUp :  nächste Maske auswählen", tsx, tsy+=tdy, txw, LEFT, tsz, tcol);
                                        RenderString("PgDn :  vorherige Maske auswählen", tsx, tsy+=tdy, txw, LEFT, tsz, tcol);
                                        RenderString("Maskenfarbe", tsx, tsy+=(2*tdy), txw, LEFT, tsz, tcol);
+                                       RenderString("Mute  :  Maskenfarbe aus Vorgabe auswählen", tsx, tsy+=tdy, txw, LEFT, tsz, tcol);
                                        RenderString("1,4,7   :  Farbton Rot erhöhen, auf Mitte setzen, verringern", tsx, tsy+=tdy, txw, LEFT, tsz, tcol);
                                        RenderString("2,5,8  :  Farbton Grün erhöhen, auf Mitte setzen, verringern", tsx, tsy+=tdy, txw, LEFT, tsz, tcol);
                                        RenderString("3,6,9  :  Farbton Blau erhöhen, auf Mitte setzen, verringern", tsx, tsy+=tdy, txw, LEFT, tsz, tcol);
-                                       RenderString("Mute  :  Maskenfarbe aus Vorgabe auswählen", tsx, tsy+=tdy, txw, LEFT, tsz, tcol);
+                                       RenderString("Vol +  :  Transparenz erhöhen", tsx, tsy+=tdy, txw, LEFT, tsz, tcol);
+                                       RenderString("Vol -  :  Transparenz verringern", tsx, tsy+=tdy, txw, LEFT, tsz, tcol);
                                        RenderString("Allgemein", tsx, tsy+=(2*tdy), txw, LEFT, tsz, tcol);
                                        RenderString("?        :  Hilfetext ein/ausschalten", tsx, tsy+=tdy, txw, LEFT, tsz, tcol);
-                                       RenderString("Home:  Abbrechen", tsx, tsy+=tdy, txw, LEFT, tsz, tcol);
+                                       RenderString("Exit    :  Abbrechen", tsx, tsy+=tdy, txw, LEFT, tsz, tcol);
                                        RenderString("OK     :  Speichern und Beenden", tsx, tsy+=tdy, txw, LEFT, tsz, tcol);
                                }
                                else
                                {
                                        if(help_changed)
                                        {
-                                               RenderBox(tsx, tsy, tsx+txw, tsy+20*tdy, FILL, make_color(TRANSP, &tp));
+                                               RenderBox(tsx, tsy, tsx+txw, tsy+21*tdy, FILL, make_color(TRANSP, &tp));
                                                if(nmsk)
                                                        RenderBox(xp[amsk][pmode], yp[amsk][pmode], xp[amsk][pmode]+xw[amsk][pmode], yp[amsk][pmode]+yw[amsk][pmode], GRID, make_color((kmode)?LBLUE:LYELLOW, &tp));
                                        }
index 37ce1ed4d7ae429bcc11602864c0a9fe04656554..2a433b2799d374f19eb855b9a41b774742425c16 100644 (file)
--- a/logoset.h
+++ b/logoset.h
@@ -116,9 +116,6 @@ extern int TABULATOR;
 struct fb_fix_screeninfo fix_screeninfo;
 struct fb_var_screeninfo var_screeninfo;
 
-int startx, starty, sx, ex, sy, ey;
-char online;
-
 #define FB_DEVICE      "/dev/fb/0"
 
 #define BUFSIZE 4096
diff --git a/text.c b/text.c
index bbc8edab5115986b9b574a769494357995a2e6ef..ce5d7bc1b6559bf168e5d3ea7b991ccc5e55ab3c 100644 (file)
--- a/text.c
+++ b/text.c
@@ -80,7 +80,7 @@ int RenderChar(FT_ULong currentchar, int sx, int sy, int ex, int color)
                                        {
                                                if(pitch*8 + 7-bit >= sbit->width) break; /* render needed bits only */
 
-                                               if((sbit->buffer[row * sbit->pitch + pitch]) & 1<<bit) memcpy(lbb + (startx + sx + sbit->left + kerning.x + x)*4 + fix_screeninfo.line_length*(starty + sy - sbit->top + y),pix,4);
+                                               if((sbit->buffer[row * sbit->pitch + pitch]) & 1<<bit) memcpy(lbb + (sx + sbit->left + kerning.x + x)*4 + fix_screeninfo.line_length*(sy - sbit->top + y),pix,4);
 
                                                x++;
                                        }