From c8d72d4c682e01c80fbebcc5752dfa4d0fe6b626 Mon Sep 17 00:00:00 2001 From: Niels Elburg Date: Tue, 13 Mar 2007 21:26:41 +0000 Subject: [PATCH] small fix, little bit faster git-svn-id: svn://code.dyne.org/veejay/trunk@843 eb8d1916-c9e9-0310-b8de-cf0c9472ead5 --- veejay-current/gveejay-reloaded/callback.c | 2 +- veejay-current/share/button_rand.png | Bin 3175 -> 2093 bytes veejay-current/veejay/vj-font.c | 32 ++++++++++++++------- 3 files changed, 23 insertions(+), 11 deletions(-) diff --git a/veejay-current/gveejay-reloaded/callback.c b/veejay-current/gveejay-reloaded/callback.c index 089bbd15..789f27f9 100644 --- a/veejay-current/gveejay-reloaded/callback.c +++ b/veejay-current/gveejay-reloaded/callback.c @@ -1262,8 +1262,8 @@ void on_button_vimsupdate_clicked(GtkWidget *widget, gpointer user_data) multi_vims( VIMS_BUNDLE_ATTACH_KEY, "2 %d %d %s", - info->uc.selected_vims_accel[0], info->uc.selected_vims_accel[1], + info->uc.selected_vims_accel[0], info->uc.selected_vims_args ); } info->uc.reload_hint[HINT_BUNDLES] = 1; diff --git a/veejay-current/share/button_rand.png b/veejay-current/share/button_rand.png index 99091e17e1baf653c4928d64cf43aebec4674f25..596e91f409e3ea4ad7471ff1434fed92cb506c62 100644 GIT binary patch delta 2026 zcmVNrgTPuGDkx4{BR7l5dmCbKlB!VBi+&6|WjlmGx`vso;c%UCEB z@bK_(!gbwc063S)WS*Uvn3yY-N=~_4PE{%u-e@#rr_*U2A0I#6>-B`S_AiL|$Hm3P z$CZCd#lHOV%Os@){=X7yEpuI0^m@JJ)2C1W^1_7+>u1iK`7vV*a=BcX&1Q?MtE+{n zsj1S@(UCF6XwUP~#+YY`=qIDmsCsg8@@RH;_M}p&K(Scl|0T(0vsfq;CSBKEFO^Ea zSXx?IT3cHyA)@GZyF+7)@;t9J7!1mLdwYM4e!t(-T91WcI2lDznRA{&#HXZ`3%>8) z2yw|)9Ihj&CR`j`SRr%#+caL+-!Hd-4D2h(?`~7sY+5CGxpAY!P#s<55`7(e1 z^2;yFob&7Da`|WH&Yi2g^Ugc-rBaD+Z*O#XU^&W|f7ccTpKKW!kNs^6nxx6|zH#ZT6 z;pEMmH}?mF!MB`qH8(eRx>Bilw{L&n9$0I8jIpe>){En~D5cC15d#1aLa^!SY4AJ` zJn4YXhutJedW7Q_!!UFh zV;KOj)>;aJV8$5ZJ@?#m$;yAqimlh{qEINjjIl5b$@hJ$l!C9n z{u-51QfvJW=DKc2DYX;Fu_~9#?86T~#P#)cN~KajM23iLwOYmN*RR|8`FU-vO)5Xb?N)QV2nA4$dpoOj6ouTOeRBDuU>`4#YMKcxrtE}*(6C$ zq?9+r^Upu8?%cU^I|zcU;cz&6>(;FlV@$_!Y#qlD#u(h)-G#lqJ=9uzh)7Sao2S!h ztCS*R41{3_ySsn8^ki8W5gD!Zw${4IuUxsp&!0aZ+`4tEueCn!I8L63I1vG3j9F_f z=bSyM5$Bv)YXK2~F$P*|(psZ2hHAAM+uYm)-}h}8hDTu-{$5IXhrjpUdm@v`uy(tB zaBy${0Ps^Ggj+6`gJ+(329qSgIF1=2VkVO@D=RArV+?@{NLLvgC6l$$W zN*RS=_?g!F59xIJgunLMYmQQi3Wb91cDs#!zn?S4ESx=iR(l;k8=LDy492 zY)rlR=9|gt>MHK+>~P=r84;nBl38oPT5FY3GK!*qYOQ~rN~N|B4-bjI@x~i`e}CV$ zS}j;!UXFiyyPKI8j-aWooF008hymoC9zFo3D4DV(357r9(6a2)4;qtV!_)oSC7Mq}I< z!#L**5yi>L3ESG*a-%51BuT9A`w#>{===WtAP9ec6GhQ)jWPSj$H(^j#O0k%2eR2L z0{}iVGvi1pX*e7v^Yin&M@L6nzV9E6Mk7d)WGspzP)b>)6a_(`dcEGsa5%g>8jb#( zB+2gp;IEG31l?{Ieh8-1X}oaZ08GDktJSKw zt~)jl0H=*HMPm%pT6csH2f1AC-!n5aooqJS|M=sNE&Lz;1Ge6fPPWXK)c^nh07*qo IM6N<$f=P1o(EtDd delta 3116 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 diff --git a/veejay-current/veejay/vj-font.c b/veejay-current/veejay/vj-font.c index 7f120ac1..4ca6ddce 100644 --- a/veejay-current/veejay/vj-font.c +++ b/veejay-current/veejay/vj-font.c @@ -126,6 +126,7 @@ typedef struct { void *plain; int time; char *add; + char *prev; pthread_mutex_t mutex; } vj_font_t; @@ -1714,24 +1715,35 @@ static void draw_glyph( uint8_t *U = picture->data[1]; uint8_t *V = picture->data[2]; + uint8_t *bitbuffer = bitmap->buffer; + uint32_t bitmap_rows = bitmap->rows; + uint32_t bitmap_wid = bitmap->width; + uint32_t bitmap_pitch = bitmap->pitch; + + int p,left,top,bot,pos; + if (bitmap->pixel_mode == ft_pixel_mode_mono) { in_glyph = 0; - for (r=0; (r < bitmap->rows) && (r+y < height); r++) + for (r=0; (r < bitmap_rows) && (r+y < height); r++) { - for (c=0; (c < bitmap->width) && (c+x < width); c++) + for (c=0; (c < bitmap_wid) && (c+x < width); c++) { - int p = (c+x) + ((y+r)*width); - int left = (c+x-1) + ((y+r)*width); - int top = (c+x) + ((y+r-1)*width); - int bot = (c+x) + ((y+r+1)*width); + p = (c+x) + ((y+r)*width); + left = (c+x-1) + ((y+r)*width); + top = (c+x) + ((y+r-1)*width); + bot = (c+x) + ((y+r+1)*width); dpixel[0] = Y[ p ]; dpixel[1] = U[ p ]; dpixel[2] = V[ p ]; - spixel = bitmap->buffer[r*bitmap->pitch +c/8] & (0x80>>(c%8)); - + pos = r * bitmap_pitch + (c >> 3 ); + + // spixel = bitmap->buffer[r*bitmap->pitch +c/8] & (0x80>>(c%8)); + + spixel = bitbuffer[ pos ] & ( 0x80 >> ( c % 8 )); + if (spixel) { dpixel[0] = yuv_fgcolor[0]; @@ -1760,14 +1772,14 @@ static void draw_glyph( if (in_glyph) { - if ( (r-1 >= 0) && (! bitmap->buffer[(r-1)*bitmap->pitch +c/8] & (0x80>>(c%8))) ) + if ( (r-1 >= 0) && (! bitbuffer[(r-1)*bitmap->pitch +c/8] & (0x80>>(c%8))) ) { Y[ top ] = yuv_lncolor[0]; U[ top ] = yuv_lncolor[1]; V[ top ] = yuv_lncolor[2]; } - if ( (r+1 < height) && (! bitmap->buffer[(r+1)*bitmap->pitch +c/8] & (0x80>>(c%8))) ) + if ( (r+1 < height) && (! bitbuffer[(r+1)*bitmap->pitch +c/8] & (0x80>>(c%8))) ) { Y[ bot ] = yuv_lncolor[0]; U[ bot ] = yuv_lncolor[1];