summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--container_darwin.m2
-rw-r--r--control_darwin.m3
-rw-r--r--future7
3 files changed, 6 insertions, 6 deletions
diff --git a/container_darwin.m b/container_darwin.m
index 1dfa7cb..b8c61b0 100644
--- a/container_darwin.m
+++ b/container_darwin.m
@@ -41,6 +41,8 @@ void moveControl(id c, intptr_t x, intptr_t y, intptr_t width, intptr_t height)
// mac os x coordinate system has (0,0) in the lower-left
v = toNSView(c);
frame.origin.y = ([[v superview] bounds].size.height - frame.size.height) - frame.origin.y;
+ // here's the magic: what we specified was what we want the alignment rect to be; make it the actual frame
+ frame = [v frameForAlignmentRect:frame];
[v setFrame:frame];
}
diff --git a/control_darwin.m b/control_darwin.m
index 4ff8777..54588a1 100644
--- a/control_darwin.m
+++ b/control_darwin.m
@@ -37,7 +37,8 @@ struct xsize controlPreferredSize(id control)
c = toNSControl(control);
[c sizeToFit];
- r = [c frame];
+ // use alignmentRect here instead of frame because we'll be resizing based on that
+ r = [c alignmentRectForFrame:[c frame]];
s.width = (intptr_t) r.size.width;
s.height = (intptr_t) r.size.height;
return s;
diff --git a/future b/future
index 0ac0c35..e316a33 100644
--- a/future
+++ b/future
@@ -1,13 +1,11 @@
mac os x sizing is now completely broken
- need to catch window initial sizes
- need to catch tab changes
- - can't just resize every tab to the current tab size; that'll just cause weirdness
- - rect should be based on the alignment rect, not the frame rect
+ - can't just resize every tab to the current tab size; that doesn't seem to work
mac os x
- Table, Textbox
+ Textbox
refuse first responder
- Table still works because it's entirely mouse based
Textbox does not work at all
new control stuff
@@ -126,5 +124,4 @@ gtk+, mac os x
- figure out how dialogs and Areas work together
- once that is done, document the behavior of Areas
all
- - make spaced settable somehow
- rename Selected to Selection?