diff options
| author | Pietro Gagliardi <[email protected]> | 2014-06-26 00:23:29 -0400 |
|---|---|---|
| committer | Pietro Gagliardi <[email protected]> | 2014-06-26 00:23:29 -0400 |
| commit | 5e17d64b091036396aee8faa887f2f135188d3ac (patch) | |
| tree | 4e1ae907154041654c8821804cdc03a1f3b9e145 /prefsize_darwin.m | |
| parent | 4a68c3cb7a984d144378c683e7587dadd5ebe62f (diff) | |
Undid the whole yoff spiel on Mac OS X. NOW I'll merge the new sizing system into that backend.
Diffstat (limited to 'prefsize_darwin.m')
| -rw-r--r-- | prefsize_darwin.m | 47 |
1 files changed, 8 insertions, 39 deletions
diff --git a/prefsize_darwin.m b/prefsize_darwin.m index 932038b..d00b2f8 100644 --- a/prefsize_darwin.m +++ b/prefsize_darwin.m @@ -3,14 +3,12 @@ #include "objc_darwin.h" #import <AppKit/NSControl.h> #import <AppKit/NSView.h> -#import <AppKit/NSTextField.h> #import <AppKit/NSScrollView.h> #import <AppKit/NSTableView.h> #import <AppKit/NSProgressIndicator.h> #define to(T, x) ((T *) (x)) #define toNSControl(x) to(NSControl, (x)) -#define toNSTextField(x) to(NSTextField, (x)) #define toNSScrollView(x) to(NSScrollView, (x)) #define toNSTableView(x) to(NSTableView, (x)) #define toNSProgressIndicator(x) to(NSProgressIndicator, (x)) @@ -19,87 +17,58 @@ #define listboxInScrollView(x) toNSTableView(inScrollView((x))) #define areaInScrollView(x) inScrollView((x)) -struct xprefsize controlPrefSize(id control, BOOL alternate) +struct xsize controlPrefSize(id control) { NSControl *c; NSRect r; - struct xprefsize s; + struct xsize s; c = toNSControl(control); [c sizeToFit]; r = [c frame]; s.width = (intptr_t) r.size.width; s.height = (intptr_t) r.size.height; - s.yoff = 0; // no yoff for most controls return s; } -struct xprefsize labelPrefSize(id control, BOOL alternate) -{ - NSControl *c; - NSRect r; - struct xprefsize s; - - c = toNSControl(control); - [c sizeToFit]; - r = [c frame]; - s.width = (intptr_t) r.size.width; - s.height = (intptr_t) r.size.height; - s.yoff = 0; // no yoff for standalone labels - if (!alternate) { - // TODO this seems really hacky - // temporarily enable the border, compute its height, and take the height difference - [toNSTextField(c) setBordered:YES]; - [c sizeToFit]; - r = [c frame]; - [toNSTextField(c) setBordered:NO]; - // - 1 since the sizes are exclusive (????? TODO) - s.yoff = ((intptr_t) r.size.height) - s.height - 1; - } - return s; -} - -struct xprefsize listboxPrefSize(id scrollview, BOOL altenrate) +struct xsize listboxPrefSize(id scrollview) { NSTableView *c; NSRect r; - struct xprefsize s; + struct xsize s; c = listboxInScrollView(toNSScrollView(scrollview)); [c sizeToFit]; r = [c frame]; s.width = (intptr_t) r.size.width; s.height = (intptr_t) r.size.height; - s.yoff = 0; // no yoff for listboxes return s; } -struct xprefsize pbarPrefSize(id control, BOOL alternate) +struct xsize pbarPrefSize(id control) { NSProgressIndicator *c; NSRect r; - struct xprefsize s; + struct xsize s; c = toNSProgressIndicator(control); [c sizeToFit]; r = [c frame]; s.width = (intptr_t) r.size.width; s.height = (intptr_t) r.size.height; - s.yoff = 0; // no yoff for progress bars return s; } -struct xprefsize areaPrefSize(id scrollview, BOOL alternate) +struct xsize areaPrefSize(id scrollview) { NSView *c; NSRect r; - struct xprefsize s; + struct xsize s; c = areaInScrollView(toNSScrollView(scrollview)); // don't size to fit; the frame size is already the size we want r = [c frame]; s.width = (intptr_t) r.size.width; s.height = (intptr_t) r.size.height; - s.yoff = 0; // no yoff for areas return s; } |
