Bug using Masks in OSX 2.6 prerelease

In that case then yes, there is a difference in the QD version, none of the Bilts with a logical op other than wxCOPY are displaying anything. It looks exactly the same as the CoreGraphics build. This is on Panther.

--Robin

Stefan Csomor wrote:

···

Hi Robin

yes, exactely

Thanks,

Stefan

-----Original Message-----
From: Robin Dunn [mailto:robin@alldunn.com]
Sent: Freitag, 22. April 2005 17:47
To: Stefan Csomor
Cc: wxPython-dev@lists.wxWidgets.org
Subject: Re: [wxPython-dev] Bug using Masks in OSX 2.6 prerelease

Stefan,

Thanks, that rings a bell now. This is the wxMAC_USE_CORE_GRAPHICS
setting, correct? I do have it set to zero in my builds, so it is

using

QuickDraw, so a Blit with a logical op should be working.

--Robin

Stefan Csomor wrote:

Hi Robin

actually it should not be dropped for QD drawings, only for the

'still

experimental' quartz implementation.

The reason why Quartz does not support logical functions :

on quartz there is no notion of 'look whats already in the pixel' it

is

just drawing in layers with different opacity, otherwise you'd have

to

block, wait for the entire drawing pipeline to finish and check the
content of the pixel before going on.

Now back to the QD implementation :

I'm not aware of anything taken away there. So I'd be grateful if

you

could compare with the former state, if there's a diff it is by

mistake.

A lot of the logical functions don't have a logical counterpart in

QD,

and of those that are, only a part is also implemented for drawing
operations (only Copy, Invert, XOr, Or_Revers, Src_Invert and And) ,

the

rest is only available for Blit, for Blit I have added an emulation
layer that does the ops that are not implemented by QD - pixel by

pixel.

Thanks,

Stefan

-----Original Message-----
From: Robin Dunn [mailto:robin@alldunn.com]
Sent: Donnerstag, 21. April 2005 19:46
To: wxPython-dev@lists.wxwidgets.org; Stefan Csomor
Subject: Re: [wxPython-dev] Bug using Masks in OSX 2.6 prerelease

Robert Ferguson wrote:

Dear List,

I am running the binary pre-release of wxPython 2.6 on OSX (10.3 /
python 2.3) and an important feature does not appear to be working

in

the demo. The "Masks.py" demo does not render correctly. This
appears to be a mac specific issues as the demo runs perfectly in
Linux and Windows. Please see the attached screen shot to see
specifically which masks are not working.

Actually, "Masks" is a bad name for that demo as it is mostly

showing

drawing with various Logical Functions... The masks part is working
correctly.

Sorry to "bug" you, but this feature is absolutely essential in my
application, and I fear it becoming a persistent problem if the 2.6
release goes final.

Stefan, I can't remember the details, can you please explain again

why

the support for wxDC::SetLogicalFunction got dropped?

--
Robin Dunn
Software Craftsman
http://wxPython.org Java give you jitters? Relax with wxPython!

Hi list,

Thank you very much for writing to my concern over binary operations.
I really apperciate your time and thoughts on this matter. I have
tried to follow the emails and I think I have an idea of what's going
on, but I'm not sure where to go from here or the priority/status.

It seems you all are recommending passing "logicalFunc" in wxDC::Blit.
This could be an option, but I am slightly concerned because in the
past there appeared to be some incompatibilites with this method and
gtk. I may have completely misjudged this method. Regardless, I
would like your advice on which path I might take.

I suspect you'll suggest one of these:

1) Do nothing, binary operations will eventually work as the demo
expects in the mac 2.6 branch.

2) Make changes to the wxpython source myself (reasonable, but I could
use a little mentoring)

3) Specify the binary operation with blt because it works the same in
each branch.

4) Whine about it some more and prepare to be flamed into a crisp! :wink:

Regards,
Robert Ferguson

···

On 4/22/05, Robin Dunn <robin@alldunn.com> wrote:

In that case then yes, there is a difference in the QD version, none of
the Bilts with a logical op other than wxCOPY are displaying anything.
It looks exactly the same as the CoreGraphics build. This is on Panther.

--Robin

Stefan Csomor wrote:
> Hi Robin
>
> yes, exactely
>
> Thanks,
>
> Stefan
>
>
>>-----Original Message-----
>>From: Robin Dunn [mailto:robin@alldunn.com]
>>Sent: Freitag, 22. April 2005 17:47
>>To: Stefan Csomor
>>Cc: wxPython-dev@lists.wxWidgets.org
>>Subject: Re: [wxPython-dev] Bug using Masks in OSX 2.6 prerelease
>>
>>Stefan,
>>
>>Thanks, that rings a bell now. This is the wxMAC_USE_CORE_GRAPHICS
>>setting, correct? I do have it set to zero in my builds, so it is
>
> using
>
>>QuickDraw, so a Blit with a logical op should be working.
>>
>>--Robin
>>
>>Stefan Csomor wrote:
>>
>>>Hi Robin
>>>
>>>actually it should not be dropped for QD drawings, only for the
>
> 'still
>
>>>experimental' quartz implementation.
>>>
>>>The reason why Quartz does not support logical functions :
>>>
>>>on quartz there is no notion of 'look whats already in the pixel' it
>
> is
>
>>>just drawing in layers with different opacity, otherwise you'd have
>
> to
>
>>>block, wait for the entire drawing pipeline to finish and check the
>>>content of the pixel before going on.
>>>
>>>Now back to the QD implementation :
>>>
>>>I'm not aware of anything taken away there. So I'd be grateful if
>
> you
>
>>>could compare with the former state, if there's a diff it is by
>
> mistake.
>
>>>
>>>A lot of the logical functions don't have a logical counterpart in
>
> QD,
>
>>>and of those that are, only a part is also implemented for drawing
>>>operations (only Copy, Invert, XOr, Or_Revers, Src_Invert and And) ,
>
> the
>
>>>rest is only available for Blit, for Blit I have added an emulation
>>>layer that does the ops that are not implemented by QD - pixel by
>
> pixel.
>
>>>Thanks,
>>>
>>>Stefan
>>>
>>>
>>>
>>>
>>>>-----Original Message-----
>>>>From: Robin Dunn [mailto:robin@alldunn.com]
>>>>Sent: Donnerstag, 21. April 2005 19:46
>>>>To: wxPython-dev@lists.wxwidgets.org; Stefan Csomor
>>>>Subject: Re: [wxPython-dev] Bug using Masks in OSX 2.6 prerelease
>>>>
>>>>Robert Ferguson wrote:
>>>>
>>>>
>>>>>Dear List,
>>>>>
>>>>>I am running the binary pre-release of wxPython 2.6 on OSX (10.3 /
>>>>>python 2.3) and an important feature does not appear to be working
>>>
>>>in
>>>
>>>
>>>>>the demo. The "Masks.py" demo does not render correctly. This
>>>>>appears to be a mac specific issues as the demo runs perfectly in
>>>>>Linux and Windows. Please see the attached screen shot to see
>>>>>specifically which masks are not working.
>>>>
>>>>Actually, "Masks" is a bad name for that demo as it is mostly
>
> showing
>
>>>>drawing with various Logical Functions... The masks part is working
>>>>correctly.
>>>>
>>>>
>>>>
>>>>>Sorry to "bug" you, but this feature is absolutely essential in my
>>>>>application, and I fear it becoming a persistent problem if the 2.6
>>>>>release goes final.
>>>>
>>>>Stefan, I can't remember the details, can you please explain again
>
> why
>
>>>>the support for wxDC::SetLogicalFunction got dropped?
>>>>
>>>>--
>>>>Robin Dunn
>>>>Software Craftsman
>>>>http://wxPython.org Java give you jitters? Relax with wxPython!
>>>
>>>
>>>
>>>
>>>
>
>
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: wxPython-dev-unsubscribe@lists.wxwidgets.org
For additional commands, e-mail: wxPython-dev-help@lists.wxwidgets.org

Robert Ferguson wrote:

Hi list,

Thank you very much for writing to my concern over binary operations. I really apperciate your time and thoughts on this matter. I have
tried to follow the emails and I think I have an idea of what's going
on, but I'm not sure where to go from here or the priority/status.

It seems you all are recommending passing "logicalFunc" in wxDC::Blit.
This could be an option, but I am slightly concerned because in the
past there appeared to be some incompatibilites with this method and
gtk. I may have completely misjudged this method. Regardless, I
would like your advice on which path I might take.

The Mask sample looks nearly identical to me on wxGTK2 and wxMSW, and according to Stefan they are supposed to still be working with the way that I build wxMac. I still don't understand why they are not, so we'll need to wait for him to take a look at it.

Please note however that only wx.INVERT and wx.XOR worked for drawing operations other than Blit on wxMac in previous versions.

I suspect you'll suggest one of these:

1) Do nothing, binary operations will eventually work as the demo
expects in the mac 2.6 branch.

Hopefully this is the right answer.

···

2) Make changes to the wxpython source myself (reasonable, but I could
use a little mentoring)

3) Specify the binary operation with blt because it works the same in
each branch.

4) Whine about it some more and prepare to be flamed into a crisp! :wink:

--
Robin Dunn
Software Craftsman
http://wxPython.org Java give you jitters? Relax with wxPython!