Mailing Lists: Apple Mailing Lists

Image of Mac OS face in stamp
 
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: HiView vs WindowRef and bitmaps




On Jun 27, 2007, at 11:28 AM, Laurence Harris wrote:


On Jun 27, 2007, at 1:46 PM, Daniel Birns wrote:

Hi Larry,

Using kHIViewWindowContentID didn't work,

What do you mean, it didn't work? It definitely works to get the content view.

Yes, but when I draw to it, I don't see it. Yes, that's probably because I'm not sure what I'm doing. But when I draw to the HiView that's in the nib, it shows.


There's almost certainly a good reason why this isn't showing, but I remembered that one reason I made the HiView in the first place is that it placed the graphics where I want them on the window.

but to make a long story short, I have a solution.

I need a rectangle inside the window to draw on. The window itself includes the title bar and the bit around the bottom where the edge isn't square. So I made an HiView that sits inside the window, and this works nicely: there's a window which has the metal finish with the bitmap inside it. In the inspector, when i look at the HiView, x is set to 0 and y is set to 20.

Which y? You really need to be more specific when you post. Vague statements are rarely useful.

Fair enough, though I've only seen one in the inspector. to find it, I click on the HiView, and then in the inspector, I choose Size at the top, and then Layout Rect, and then bottom/left, width/height, and the bottom left are the y and x. Is there another X and Y in the inspector?

Perhaps this explains the y offset. The width and height seem to explain the top margin: the width is the same as the window, and the height is 20 less than the enclosing window. Apparently y in the inspector starts at the bottom, which seems to be true for some things but not others.

IIRC you can set whether it should be from the top or the bottom.

How?


Then when I resize, (which I always do after creating it), it maintains the 'y' and the height difference in absolute pixels.

Solution: Find out the difference in size of the view and the window, and resize accordingly

HIViewFindByID(HIViewGetRoot(window), kDartControlID, &dartView);

HIRect bounds;
Rect windContent;

HIViewGetBounds(dartView, &bounds);
GetWindowBounds (window, kWindowContentRgn, &windContent);

int heightDiff = (windContent.bottom - windContent.top) - (bounds.size.height);
r.bottom += heightDiff;
SetWindowBounds(window,kWindowContentRgn, &r);


The goal ws to get rid of the magic number 20 in my code, and this did it: the heightDiff is 20.

This doesn't really seem like a good solution IMO, because, you don't really understand what you've solved, you just found something that works.



Criticism taken although I *think* I understand what I've solved: I need the HiView for a variety of reasons, and that view is a different size than the window. I need the window to be an appropriate size so that the HiView is the size I need for the image to have the original size and aspect ratio.


I'm really trying to not be vague. I appreciate your patience and coaxing.

--Daniel
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Carbon-dev mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/carbon-dev/email@hidden

This email sent to email@hidden
References: 
 >HiView vs WindowRef and bitmaps (From: Daniel Birns <email@hidden>)
 >Re: HiView vs WindowRef and bitmaps (From: Laurence Harris <email@hidden>)
 >Re: HiView vs WindowRef and bitmaps (From: Daniel Birns <email@hidden>)
 >Re: HiView vs WindowRef and bitmaps (From: Laurence Harris <email@hidden>)
 >Re: HiView vs WindowRef and bitmaps (From: Daniel Birns <email@hidden>)
 >Re: HiView vs WindowRef and bitmaps (From: Laurence Harris <email@hidden>)
 >Re: HiView vs WindowRef and bitmaps (From: Daniel Birns <email@hidden>)
 >Re: HiView vs WindowRef and bitmaps (From: Laurence Harris <email@hidden>)
 >Re: HiView vs WindowRef and bitmaps (From: Daniel Birns <email@hidden>)
 >Re: HiView vs WindowRef and bitmaps (From: Laurence Harris <email@hidden>)



Visit the Apple Store online or at retail locations.
1-800-MY-APPLE

Contact Apple | Terms of Use | Privacy Policy

Copyright © 2007 Apple Inc. All rights reserved.