Page 2 of 6

Re: Bug in TBtnBmp

PostPosted: Fri May 30, 2014 9:18 am
by Antonio Linares
Enrico,

Yes, I saw the two times also.

Please lets try this obvious change:

DrawTransBmp( ::hDC, hBmp, oBmpRect:nTop + 1, oBmpRect:nLeft + 1, oBmpRect:nWidth, oBmpRect:nHeight )

and let me know if you get part of the border back, thanks

Re: Bug in TBtnBmp

PostPosted: Fri May 30, 2014 10:43 am
by Enrico Maria Giordano
Antonio,

Antonio Linares wrote:Enrico,

Yes, I saw the two times also.


No, they are four places to fix. Look carefully. :-)

EMG

Re: Bug in TBtnBmp

PostPosted: Fri May 30, 2014 10:46 am
by Enrico Maria Giordano
Antonio,

Antonio Linares wrote:Please lets try this obvious change:

DrawTransBmp( ::hDC, hBmp, oBmpRect:nTop + 1, oBmpRect:nLeft + 1, oBmpRect:nWidth, oBmpRect:nHeight )

and let me know if you get part of the border back, thanks


No, sorry. :-(

EMG

Re: Bug in TBtnBmp

PostPosted: Fri May 30, 2014 10:48 am
by Antonio Linares
Enrico,

Ok, I am going to review it in deep and see whats going on.

Thanks for your great feedback, my friend :-)

Re: Bug in TBtnBmp

PostPosted: Fri May 30, 2014 10:58 am
by Enrico Maria Giordano
Antonio,

you're welcome. It's our interest to keep Fivewin healty! :-)

EMG

Re: Bug in TBtnBmp

PostPosted: Fri May 30, 2014 11:16 am
by Antonio Linares
Enrico,

This code (in both places) seems to fix the border issue :-)

Code: Select all  Expand view
     if ! Empty( hBmp )
         if ::lBmpTransparent
            if SetAlpha() .and. ::aAlpha[ nBtn ]
               ABPaint( ::hDC, oBmpRect:nLeft, oBmpRect:nTop, hBmp, ::nAlphaLevel() )
            else
               DrawTransBmp( ::hDC, hBmp, oBmpRect:nTop, oBmpRect:nLeft, oBmpRect:nWidth, oBmpRect:nHeight )
            endif
         else
            DrawTransBmp( ::hDC, hBmp, oBmpRect:nTop, oBmpRect:nLeft, oBmpRect:nWidth, oBmpRect:nHeight )
         endif
         if ::lBorder
            WndBox( ::hDC, 0, 0, ::nHeight - 1, ::nWidth - 1 )
         endif  
      endif


I appreciate your comments, thanks :-)

Re: Bug in TBtnBmp

PostPosted: Fri May 30, 2014 11:26 am
by Antonio Linares
Enrico,

To me, this is the right fix (I am testing FWH\samples\testbtnb.prg).

Code: Select all  Expand view
     if ! Empty( hBmp )
         if ::lBmpTransparent
            if SetAlpha() .and. ::aAlpha[ nBtn ]
               ABPaint( ::hDC, oBmpRect:nLeft, oBmpRect:nTop, hBmp, ::nAlphaLevel() )
            else
               DrawTransBmp( ::hDC, hBmp, oBmpRect:nTop, oBmpRect:nLeft + 2, oBmpRect:nWidth, oBmpRect:nHeight )
            endif
         else
            DrawTransBmp( ::hDC, hBmp, oBmpRect:nTop, oBmpRect:nLeft + 2, oBmpRect:nWidth, oBmpRect:nHeight )
         endif
         if ::lBorder
            WndBox( ::hDC, 0, 0, ::nHeight - 1, ::nWidth - 1 )
         endif  
      endif
 


Anyhow, we may need to test it in deep and see if there are some side effects.

Re: Bug in TBtnBmp

PostPosted: Fri May 30, 2014 11:53 am
by Enrico Maria Giordano
Antonio,

I'm lost in the changes. :-)

Can you send me the fixed btnbmp.prg to my email, please?

EMG

Re: Bug in TBtnBmp

PostPosted: Fri May 30, 2014 12:13 pm
by Antonio Linares
Enrico,

xharbour and Borland, right ? :-)

(I know you can't move to harbour yet)

Re: Bug in TBtnBmp

PostPosted: Fri May 30, 2014 12:16 pm
by Antonio Linares
Enrico,

I have sent you the libs and btnbmp.prg, thanks

Re: Bug in TBtnBmp

PostPosted: Fri May 30, 2014 12:43 pm
by Enrico Maria Giordano
Antonio,

thank you. Unfortunately the result is... ugly! :-(

EMG

Re: Bug in TBtnBmp

PostPosted: Fri May 30, 2014 2:37 pm
by Antonio Linares
Enrico,

I am testing FWH\samples\testbtnb.prg and it looks fine.

What example are you testing ?

Re: Bug in TBtnBmp

PostPosted: Fri May 30, 2014 2:39 pm
by Antonio Linares
Image

Re: Bug in TBtnBmp

PostPosted: Fri May 30, 2014 2:42 pm
by Enrico Maria Giordano
Antonio,

Antonio Linares wrote:Enrico,

I am testing FWH\samples\testbtnb.prg and it looks fine.

What example are you testing ?


The simple one that I've already reported:

Code: Select all  Expand view
#include "Fivewin.ch"


FUNCTION MAIN()

    LOCAL oDlg

    DEFINE DIALOG oDlg;
           SIZE 800, 600

    @ 10, 10 BTNBMP SIZE 20, 20;
             FILE "c:\fwh\bitmaps\open.bmp";
             ADJUST

    ACTIVATE DIALOG oDlg;
             CENTER

    RETURN NIL


EMG

Re: Bug in TBtnBmp

PostPosted: Fri May 30, 2014 2:43 pm
by Enrico Maria Giordano
Antonio,

Antonio Linares wrote:Image


As you can see, there is no border anymore (it was there using the previous FWH release). :-(

EMG