🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: comp.sys.mac.oop.powerplant
10 messages
10 total messages Started by Richard Wesley Mon, 19 Mar 2001 17:17
Appearence Demo vs OSX
#49
Author: Richard Wesley
Date: Mon, 19 Mar 2001 17:17
34 lines
2355 bytes
If I run the Appearence manager carbon demo under OSX, there are all 
these background glitches in the multi-panel dialog.  Aside from the 
usual control size problems, I see the following:

- The background lines at the edge of the dialog are not in line with 
the rest of the dialog;
- Same for the rectangle around the OK button;
- Same for the multi-pane in the tab control;
- Same for the nested multi-pane the 'Sundry" tab;

I have noticed similar problems in the MacCVS dialogs and from playing 
around with them, I get the impression that the PP view hierarchy is not 
getting along with Aqua:  Evey time that a view gets drawn, the 
background lines get messed up from then on.

My best guess on this is a problem with Aqua's QuickDraw implementation, 
specifically the SetOrigin API.  It looks like the internal state of the 
OSX port gets out of sync when you do this.  Or perhaps the erase is not 
done immediately and the origin has moved again by the time the QD layer 
transfers it to the screen.

Anyone know anything about this?

-- 

- rmgw

http://www.electricfish.com/hawkfish/

----------------------------------------------------------------------------
Richard Wesley           Electric Fish, Inc.       hawkfish@electricfish.com

"Grownups have the most uninteresting explanations for things."
                 - C. S. Lewis, _The Magician's Nephew_
Re: Appearence Demo vs OSX
#50
Author: Ned Holbrook
Date: Tue, 20 Mar 2001 06:27
13 lines
1427 bytes
In article <hawkfish-BA6D2F.09175619032001@brokaw.wa.com>,
 Richard Wesley <hawkfish@electricfish.com> wrote:

> - The background lines at the edge of the dialog are not in line with 
> the rest of the dialog;

This is most likely caused by a failure to align an offscreen GWorld 
with the destination. This is easy to fix, and you're only seeing the 
problem with Aqua because it was never visible before.

-- 
Ned Holbrook         http://web.dartmouth.edu/~holbrook/          ned@mac.com
* The Electric Mayhem World Tour '96 *** The Electric Mayhem World Tour '96 *
Re: Appearence Demo vs OSX
#51
Author: Richard Wesley
Date: Tue, 20 Mar 2001 16:36
35 lines
2305 bytes
In article <ned-03E281.22273219032001@corp.supernews.com>,
 Ned Holbrook <ned@mac.com> wrote:

> In article <hawkfish-BA6D2F.09175619032001@brokaw.wa.com>,
>  Richard Wesley <hawkfish@electricfish.com> wrote:
> 
> > - The background lines at the edge of the dialog are not in line with 
> > the rest of the dialog;
> 
> This is most likely caused by a failure to align an offscreen GWorld 
> with the destination. This is easy to fix, and you're only seeing the 
> problem with Aqua because it was never visible before.

There is no GWorld involved.

According to the Carbon Dev mailing list:

- This is a bug in Aqua caused by the background pattern not taking the 
origin into account;
- Apple refuses to fix the problem;
- A number of frameworks besides PowerPlant have the same problem;
- The only real workaround is to intercept the EraseRect and EraseRgn 
bottlenecks and fix the origin before calling StdXXX;

-- 

- rmgw

http://www.electricfish.com/hawkfish/

----------------------------------------------------------------------------
Richard Wesley           Electric Fish, Inc.       hawkfish@electricfish.com

"Grownups have the most uninteresting explanations for things."
                 - C. S. Lewis, _The Magician's Nephew_
Re: Appearence Demo vs OSX
#52
Author: Ned Holbrook
Date: Tue, 20 Mar 2001 17:38
11 lines
1377 bytes
In article <hawkfish-E914D1.08360420032001@brokaw.wa.com>,
 Richard Wesley <hawkfish@electricfish.com> wrote:

> There is no GWorld involved.

Bleh! I could have sworn I fixed this problem on a project, but maybe 
I'm thinking of something else. I'll check it out.

-- 
Ned Holbrook         http://web.dartmouth.edu/~holbrook/          ned@mac.com
* The Electric Mayhem World Tour '96 *** The Electric Mayhem World Tour '96 *
Re: Appearence Demo vs OSX
#53
Author: Mel Walker
Date: Wed, 21 Mar 2001 21:46
40 lines
2763 bytes
In article <hawkfish-E914D1.08360420032001@brokaw.wa.com>,
 Richard Wesley <hawkfish@electricfish.com> wrote:

> > In article <hawkfish-BA6D2F.09175619032001@brokaw.wa.com>,
> >  Richard Wesley <hawkfish@electricfish.com> wrote:
> > 
> > > - The background lines at the edge of the dialog are not in line with 
> > > the rest of the dialog;
[...]> 
> According to the Carbon Dev mailing list:
> 
> - This is a bug in Aqua caused by the background pattern not taking the 
> origin into account;

Actually, it seems that the problem is that the pattern actually *does* 
takes the origin into account, not that it doesn't. *The programmer* 
hasn't taken the origin into account, because on OS 9 the backgrounds 
are generally just white (or gray), and not patterned like OS X.

> - Apple refuses to fix the problem;

....'cause it's not a problem, it's always been that way, and QuickDraw 
is *designed* to do it that way, but it never shows up in windows that 
don't erase to a pattern....

> - A number of frameworks besides PowerPlant have the same problem;

Anything that expects a pattern's starting point not to change if the 
origin of the GrafPort changed would have this problem.

> - The only real workaround is to intercept the EraseRect and EraseRgn 
> bottlenecks and fix the origin before calling StdXXX;

Why not just modify the PP files that do the erasing? Or would that 
include too many files? In any event, I expect that's a solution for a 
small application only, though. A PowerPlant fix is in order.

-- 
--
meleuwal@starSP0MtrekSP0Mmail.com
Re: Appearence Demo vs OSX
#54
Author: Richard Wesley
Date: Thu, 22 Mar 2001 16:33
67 lines
3659 bytes
In article <meleuwal-404F9A.14461721032001@news.xmission.com>,
 Mel Walker <meleuwal@starSP0MtrekSP0Mmail.com> wrote:

> In article <hawkfish-E914D1.08360420032001@brokaw.wa.com>,
>  Richard Wesley <hawkfish@electricfish.com> wrote:
> 
> > > In article <hawkfish-BA6D2F.09175619032001@brokaw.wa.com>,
> > >  Richard Wesley <hawkfish@electricfish.com> wrote:
> > > 
> > > > - The background lines at the edge of the dialog are not in line with 
> > > > the rest of the dialog;
> [...]> 
> > According to the Carbon Dev mailing list:
> > 
> > - This is a bug in Aqua caused by the background pattern not taking the 
> > origin into account;
> 
> Actually, it seems that the problem is that the pattern actually *does* 
> takes the origin into account, not that it doesn't. *The programmer* 
> hasn't taken the origin into account, because on OS 9 the backgrounds 
> are generally just white (or gray), and not patterned like OS X.

See below.

> > - Apple refuses to fix the problem;
> 
> ....'cause it's not a problem, it's always been that way, and QuickDraw 
> is *designed* to do it that way, but it never shows up in windows that 
> don't erase to a pattern....

Someone at Apple explained this to me.  I don't quite buy it (as I feel 
that this background is not part of the end user API, but I am more 
resigned to their viewpoint now.

> > - A number of frameworks besides PowerPlant have the same problem;
> 
> Anything that expects a pattern's starting point not to change if the 
> origin of the GrafPort changed would have this problem.

Exactly, and this is a technique used by a number of application 
frameworks, not just PP.

> > - The only real workaround is to intercept the EraseRect and EraseRgn 
> > bottlenecks and fix the origin before calling StdXXX;
> 
> Why not just modify the PP files that do the erasing? Or would that 
> include too many files? 

Bingo.  I can fix the bottlenecks in my dialog base class and be done 
with it.  (Hopefully - I still haven't tried it.)

> In any event, I expect that's a solution for a 
> small application only, though. A PowerPlant fix is in order.

Indeed.

-- 

- rmgw

http://www.electricfish.com/hawkfish/

----------------------------------------------------------------------------
Richard Wesley           Electric Fish, Inc.       hawkfish@electricfish.com

"Grownups have the most uninteresting explanations for things."
                 - C. S. Lewis, _The Magician's Nephew_
Re: Appearence Demo vs OSX
#55
Author: Isaac Wankerl
Date: Thu, 22 Mar 2001 17:08
19 lines
1749 bytes
In article <hawkfish-2C61B2.08333222032001@brokaw.wa.com>,
 Richard Wesley <hawkfish@electricfish.com> wrote:

> > Why not just modify the PP files that do the erasing? Or would that 
> > include too many files? 
> 
> Bingo.  I can fix the bottlenecks in my dialog base class and be done 
> with it.  (Hopefully - I still haven't tried it.)
> 
> > In any event, I expect that's a solution for a 
> > small application only, though. A PowerPlant fix is in order.
> 
> Indeed.

This will be fixed in the next version of PowerPlant.

-- 
Isaac Wankerl
Metrowerks Mac Software Team
Re: Appearence Demo vs OSX
#56
Author: Mel Walker
Date: Fri, 23 Mar 2001 15:52
38 lines
2735 bytes
In article <hawkfish-2C61B2.08333222032001@brokaw.wa.com>,
 Richard Wesley <hawkfish@electricfish.com> wrote:

> In article <meleuwal-404F9A.14461721032001@news.xmission.com>,
>  Mel Walker <meleuwal@starSP0MtrekSP0Mmail.com> wrote:
> 
> > Anything that expects a pattern's starting point not to change if the 
> > origin of the GrafPort changed would have this problem.
[...]
> > > - The only real workaround is to intercept the EraseRect and EraseRgn 
> > > bottlenecks and fix the origin before calling StdXXX;
> > 
> > Why not just modify the PP files that do the erasing? Or would that 
> > include too many files? 
> 
> Bingo.  I can fix the bottlenecks in my dialog base class and be done 
> with it.  (Hopefully - I still haven't tried it.)

Why not post some code, once you figure it out? It would probably be 
helpful to others in the interim before the PP fix comes out. If you're 
allowed to do so by your employment, of course.

> > In any event, I expect that's a solution for a 
> > small application only, though. A PowerPlant fix is in order.
> 
> Indeed.

I think this kind of problem is one of the reasons that Apple isn't 
making a hugely big deal out of the OS X shipping date tomorrow. This 
isn't a major problem, but it will take a little time to get fixed, if 
only to get a new PowerPlant out of the Metrowerks pipeline.

Anyway, it's always nice to know that these things can be worked-around. 
It restores my faith in technology. :-)

-- 
--
meleuwal@starSP0MtrekSP0Mmail.com
Re: Appearence Demo vs OSX
#57
Author: Mel Walker
Date: Fri, 23 Mar 2001 15:53
10 lines
1546 bytes
In article <wankerl-A2F42D.11080422032001@news.mtwk.sps.mot.com>,
 Isaac Wankerl <wankerl@metrowerks.com> wrote:

> This will be fixed in the next version of PowerPlant.

To be released when? :-)

-- 
--
meleuwal@starSP0MtrekSP0Mmail.com
Re: Appearence Demo vs OSX
#58
Author: Richard Wesley
Date: Fri, 23 Mar 2001 16:17
24 lines
2050 bytes
In article <meleuwal-A602A7.08535423032001@news.xmission.com>,
 Mel Walker <meleuwal@starSP0MtrekSP0Mmail.com> wrote:

> In article <wankerl-A2F42D.11080422032001@news.mtwk.sps.mot.com>,
>  Isaac Wankerl <wankerl@metrowerks.com> wrote:
> 
> > This will be fixed in the next version of PowerPlant.
> 
> To be released when? :-)

There was some confusion here.  It _may_ be fixed, but I don't believe 
MW was aware of the problem until yesterday.

-- 

- rmgw

http://www.electricfish.com/hawkfish/

----------------------------------------------------------------------------
Richard Wesley           Electric Fish, Inc.       hawkfish@electricfish.com

"Grownups have the most uninteresting explanations for things."
                 - C. S. Lewis, _The Magician's Nephew_
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads