Bug in TBtnBmp [Solved]

User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Bug in TBtnBmp

Post 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
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Enrico Maria Giordano
Posts: 7355
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia
Contact:

Re: Bug in TBtnBmp

Post 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
User avatar
Enrico Maria Giordano
Posts: 7355
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia
Contact:

Re: Bug in TBtnBmp

Post 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
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Bug in TBtnBmp

Post 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 :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Bug in TBtnBmp

Post by Antonio Linares »

Enrico,

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

Code: Select all

      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 :-)
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Bug in TBtnBmp

Post by Antonio Linares »

Enrico,

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

Code: Select all

      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.
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Enrico Maria Giordano
Posts: 7355
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia
Contact:

Re: Bug in TBtnBmp

Post by Enrico Maria Giordano »

Antonio,

I'm lost in the changes. :-)

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

EMG
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Bug in TBtnBmp

Post by Antonio Linares »

Enrico,

xharbour and Borland, right ? :-)

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

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Bug in TBtnBmp

Post by Antonio Linares »

Enrico,

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

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Bug in TBtnBmp

Post by Antonio Linares »

Enrico,

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

What example are you testing ?
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Antonio Linares
Site Admin
Posts: 37481
Joined: Thu Oct 06, 2005 5:47 pm
Location: Spain
Contact:

Re: Bug in TBtnBmp

Post by Antonio Linares »

Image
regards, saludos

Antonio Linares
www.fivetechsoft.com
User avatar
Enrico Maria Giordano
Posts: 7355
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia
Contact:

Re: Bug in TBtnBmp

Post 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

#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
User avatar
Enrico Maria Giordano
Posts: 7355
Joined: Thu Oct 06, 2005 8:17 pm
Location: Roma - Italia
Contact:

Re: Bug in TBtnBmp

Post 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
Post Reply