ra_robert@gsbacd.uchicago.edu (12/13/88)
I have a short question regarding menu bar etiquette: when all the items in a menu are disabled (dimmed), should the menu title also be dimmed? I think so, 'cause in Apple's Human Interface Guidelines it says just that, but even the Finder doesn't follow this rule. Check out the 'View By' Menu in the Finder when all windows are closed and nothing is selected. All menu items are dimmed but the menu title itself is not. Is this an example of "do as I say, not as I do", or is this interface rule not a strict one? (The reason I'm asking this is because I'm trying to avoid a lot of DrawMenuBar calls in my code when all menu items become dimmed; lots of these calls tend to make the menu bar flicker). Robert --------- ra_robert@gsbacd.uchicago.edu --------- disclaimer: all these opinions, such as they are, are mine
pratt@boulder.Colorado.EDU (Jonathan Pratt) (12/13/88)
I too dislike the annoying flash of DrawMenuBar when all I want to do is dim the title of one menu. My solution was to dim and redraw the menu title myself. Unfortunately this is a bit of a kludge since it involves direct access to the window manager port, but it works so well I think Apple should have included a call like this to begin with. My question is, what is the best way to do this that minimizes the risk of its breaking in the future? Are we allowed to determine the horizontal coordinate of the left edge of a menu from the MenuList? If so what is the calculation (in terms of ?System Font, etc.) that determines where to draw the string? Has any- one nosed around in ROM to see how it is done? Jonathan Pratt pratt@boulder.colorado.edu
lippin@twinkies.berkeley.edu (The Apathist) (12/13/88)
Recently ra_robert@gsbacd.uchicago.edu wrote: >I have a short question regarding menu bar etiquette: when all the >items in a menu are disabled (dimmed), should the menu title also be >dimmed? I think so, 'cause in Apple's Human Interface Guidelines >it says just that, but even the Finder doesn't follow this rule. [...] >(The reason I'm asking this >is because I'm trying to avoid a lot of DrawMenuBar calls in my code >when all menu items become dimmed; lots of these calls tend to make >the menu bar flicker). My feeling is to go with the HIG; I suspect that the finder doesn't precisely to avoid the flicker. I'm also bothered by the flicker -- it makes my programs look bad, and there's no workaround. I suspect, though it's hard to tell from IM, that the flickering code is in the MBDF, so Apple could change it without much trouble. Even a wrapper patch for DrawMenuBar wouldn't be very large. If they did fix this, I wouldn't mind a bit. (While we're at the wishing well, how about fixing FrameOval so that it doesn't leave gaps?) --Tom Lippincott lippin@math.berkeley.edu "Those are line *segments*, sir." --Second City, "Football Comes to the University of Chicago"
sho@pur-phy (Sho Kuwamoto) (12/13/88)
In article <18216@agate.BERKELEY.EDU> lippin@math.berkeley.edu writes: >(While we're at the wishing well, how about fixing FrameOval so that >it doesn't leave gaps?) Amen. If they were going for speed still, I could understand, but seeing as they didn't feel so bad about the inefficiencies of Color Quickdraw, I don't see why they didn't just change it. BTW, what algorithm do they use to draw these ovals anyway? How much faster is it then Brezhenham's (sp?) ? -Sho
parent@Apple.COM (Shean Parent) (12/14/88)
In article <1723@pur-phy>, sho@pur-phy (Sho Kuwamoto) writes: > In article <18216@agate.BERKELEY.EDU> lippin@math.berkeley.edu writes: > >(While we're at the wishing well, how about fixing FrameOval so that > >it doesn't leave gaps?) > Amen. If they were going for speed still, I could understand, but The way that QuickDraw draws an oval is to strike an oval inside the given rectangle then inset by the pen size and strike a second oval. The area between the two strikes is filled with the current pen pattern and color. If you think of it like this then it is clear why the ovals fall apart. The area between the two strikes closes to less the one pixel. It is not a bug. It was designed that way. Sean
parent@Apple.COM (Shean Parent) (12/14/88)
In article <5279@boulder.Colorado.EDU>, pratt@boulder.Colorado.EDU (Jonathan Pratt) writes: > I too dislike the annoying flash of DrawMenuBar when all I want > to do is dim the title of one menu. My solution was to dim and Darin Adler has an init called buffer menu bar that eliminates this flicker. It was shown at MacHack some last June. I'm not sure if it is in the Public Domain (I'll ask him and see if he would like to post it). I would live with the problem for now since the proper place to fix it is in the Mac system and I'm sure that sooner or later it will be. Sean
wilson@csli.STANFORD.EDU (Nathan Wilson) (12/20/88)
In article <18216@agate.BERKELEY.EDU> lippin@math.berkeley.edu writes: >(While we're at the wishing well, how about fixing FrameOval so that >it doesn't leave gaps?) . and various peole explain why... So I understand the problems with ovals and the reason for their existence. What I don't understand are the bugs in the drawing routines for framed round rects. The two bugs I've found are due to weird interactions between the pen dimensions and the corner oval dimensions. As far as I can tell none of the currently available graphics packages allow you to exercise these bugs since they only provide a limited set of oval width and height selections. The first bug occurs when the pen height is larger than the oval width. The effect is a widening of the *sides* of the round rect. It appears to be using half the oval width rather than the pen width. The second bug occurs when the oval height is set to 1. Such "round rects" collapse inward in width and develop very interesting feet coming out the bottom. This bug is a bit unfair as it does seem reasonable to require that both the oval dimensions be greater than one, but this should be documented. The first bug, on the other hand, is somewhat more disturbing since I actually wanted such a beast and was a bit disturbed when I found I couldn't get it. Finally, these bugs probably explain why all the standard graphics programs don't let you have direct control over oval width and height which has always struck me as a bug. The weirdest thing about both of these bugs is that if you flip both the oval dimensions and the pen dimensions they go away. Since most people can't easily create a round rect with any desired settings for the pen and oval dimensions, I have included a small binhexed file with this note that demonstrates the bugs. The file is in Scrapbook File format *NOT* PICT format. The easiest way to view after unbinhexing it, is to change its name to "Scrapbook File" and move it into your system folder (save any current scrapbook you might cherish by changing its name). The Scrapbook DA will now show you the goods. Of course if you're using one of the DAs that allow multiple scrapbooks you won't have to do all this name changing and moving around. The reason I didn't put it in PICT format is because many graphics programs decide that you didn't really mean to create such weird round rects so they change them for you. It's actually kind of interesting to paste these into such programs and see how they change them. Nathan Wilson Teleos Research nathan@teleos.com ------------snip-------------------snip----------------snip--------- (This file must be converted with BinHex 4.0) :$dCeEQYj8QpeEQ45C@0dF`"D8eP668&$8`%!!!!!!!!!#&SCD`!!!!!"!!!!"m` !!!E-!!!!MJ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!$P0MFQ&`BQp [Db"'D@aPD`)!!!"D8eP668&$8`%!!(J!!&T6@9003806!3!!H!'!!!"'-!!!!!! !!!!!!!!!!!!!Rp+,6`!!!!!!!!KD!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%!!!(LZ3!"iEN!!!5 r!##UF!3-!!!!(!3q!"e$48a1!!!!mR0jFhS!!!$q4P*&4J!!!3T#6N4-!!!"&NP $6L-!!!%LB`!!!3!$!J3!"3B(!3!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!`J$#!!!!!!"N!2J4!D"19`% !#J!!!!!!C!$i"`!"!#J,!$)!!8!!!!!!!'3!C+&1@J!8!!J!KJ"8!2F!#!#'!&3 !p`!!!5!"!!S!"`#&!&8!q$)!"`#&!&8!q!-!!`8!!!d!$#Z(&!Y6G'&bG#"ADA4 S$3d!#5S1!3dU$!j3C@iJ9fPNG'Jk)$3`$5S-$P"PEL")C@PRD(3k)$%0+J`16hC KE#"AD@4dD$SJ-3dU$!p2GQ&X)%KPD@GSG$SJ06#J6P[r!!!!bJ$+!!!!!!"Y!4J 4!D"19`%!#J!!!!!!E3%B"`!S!!%,!!%!-N!!!!!!!'3!C+&1@J!8!!`!K!"M!4F !$!#%!'`"&`!!!3!"!!S!#`#$!'d"'$)!#`#$!'d"'!-!!`8!!!d!$#Z&'"01EhF J4QaTF#"3C@iJ8fPkCA-0+K!"$3d!#5S1$9"PEL"AD@4dD$SJ-3dU$!p3C@iJ5'9 TCfKd1L!d-!dU$!p2GQ&X)>C(4S1L!e-!dU$!j2GQ&X)%KPD@GSG$SJ-D"1@rm !!!$(!-F!!!!!!'3!q4%"S%jA!3!+!!!!!!"N!2N(!!%!+!X!!3!b3!!!!!!!C!" NS8jD!"3!$3#(!&N!q!!0!)F!@3$i!!!"+J%!#J!-!)B!@J$j-J!-!)B!@J$j!`! $"3!!$3!-+iJC%%CXDA!J6hCKE#"6DATPF`d0!!NU$J%0+J`18'9Z)>C(4S1L! d-!dU$!j3C@iJ5'9TCfKd1L!a$5S-$dpfB@`J9fPNG'Jk)$8`$5S-$NpfB@`J5'9 TCfKd1L!aS%jEr`!!!0%!d3!!!!!!C!%S%3'J6PF"!!S!!!!!!'3"+!F!+!!"#`! H!"j!!!!!!!"N!'5K6PS!&!!3!(S!B3%R!"!!HJ"K!5F!!!&G!3!+!!m!H3"L!5J b!!m!H3"L!5J$!!-&!!!0!!`VHa`B4QaTF#"3C@iJB@jN)%pfB@`J8fPkCA-0+K! "$3d!#5S1$9"PEL"AD@4dD$SJ-3dU$!p3C@iJ5'9TCfKd1L!d-!dU$!p2GQ&X)&G TC(4S1L!c-!dU$""2GQ&X)%KPD@GSG#!k)$-`S%jEr`!!!-S!bJ!!!!!!C!$R%3' J6PF"!!S!!!!!!'3!j`F!!3!S#`!H!"j!!!!!!!"N!'5K6PS!&!!2!(N!93$Q!!m !H3"E!1B!!!'`!3!+!!i!H!"F!1Fb!!i!H!"F!1F$!!-&!!!0!!`VHKX+8h4KFR3 J9fPdD!d!#5P#!3dS!#N!HJ%0+J`18'9Z)>C(4S1L!d-!dU$!j3C@iJ5'9TCfK d1L!a$5S-$dpfB@`J9fPNG'Jk)$-`$5S-%%pfB@`J5'9TCfKd)$SJ-c#J6P[r!!! !i3$K!!!!!!"N!3m4!D"19`%!#J!!!!!!C!%2"`!S!!%,!"i!#N!!!!!!!'3!C+& 1@J!8!!3!H`"K!3i!"!"l!'%"$J!!!BS"!!S!!`"k!')"$c)!!`"k!')"$`-!!`8 !!!d!$#Ym%"46G'&bG#"6D(*TEQYTEQFJG'KP)#S3#NpfB@`J9fPNG'J0!!NT3`% 0+!!Z!(`"$5S-$9"PEL"AD@4dD$SJ-3dU$!p3C@iJ5'9TCfKd1L!d-!dU$!p2GQ& X)>C(4S1L!a-!dU$""2GQ&X)%KPD@GSG#!k)$-`S%jEr`!!!0d!h3!!!!!!C!$ e%3'J6PF"!!S!!!!!!'3!p3F!+!!"#`!H!!*!!!!!!!"N!'5K6PS!&!!#!(S!A`$ d!!)!HJ"I!23!!!(r!3!+!!%!H3"J!28b!!%!H3"J!28$!!-&!!!0!!`VH`i-4QP ZB@aXH5"RCA3J+K!2FfpYCA4SD@jR)(*TCfKd$3!*+@-"$5J!,!"l!3dU$!e3C@i J9fPNG'Jk)$%0+J`28'9Z)%KPD@GSG$SJ0$!0+J`16hCKE#"AD@4dD$SJ-JdU$"" 2GQ&X)%KPD@GSG#!k)$-`S%jEr`!!!3!!!!I-!!!'c!!!!)i!)#[S"'S!!!!F!)i !!90039!!!!!58%P$9!!'!"i!!2rr!!!!!!!#c!L!"2rr)!!""!!#c*b!"[rr)!! "bJ!#c*!!J!Arrb!!!TJ!!XbJJ!(rrb!!!f-!!X`FJ!Irrb!!"$J!!X[`J!$rrb! !"3B!!X`!J!,rrb!!"HX!!X`81-m: