Remove Objective-C smart pointer

Not necessary now that we have ARC.
This commit is contained in:
Allan Odgaard
2013-03-10 16:11:26 +01:00
parent 96784e9fee
commit 46fc5430c7
3 changed files with 12 additions and 42 deletions

View File

@@ -1,5 +1,4 @@
#import "OakControl.h"
#import "objc_ptr.h"
#import <oak/debug.h>
struct layer_t
@@ -49,11 +48,11 @@ struct layer_t
SEL action;
SEL menuAction;
objc_ptr<NSColor*> color;
objc_ptr<NSString*> text;
objc_ptr<NSImage*> image;
objc_ptr<NSString*> tool_tip;
objc_ptr<NSView*> view;
NSColor* color;
NSString* text;
NSImage* image;
NSString* tool_tip;
NSView* view;
enum text_options_t { none, shadow };
uint32_t text_options;
enum image_options_t { no_repeat, stretch, /* repeat_x, repeat_y, repeat_xy */ };

View File

@@ -103,14 +103,14 @@ OAK_DEBUG_VAR(OakControl);
BOOL found = NO;
iterate(newLayer, aLayout)
{
if(newLayer->view.get() == oldLayer->view.get())
if(newLayer->view == oldLayer->view)
{
found = YES;
break;
}
}
if(!found)
[oldLayer->view.get() removeFromSuperview];
[oldLayer->view removeFromSuperview];
}
}
@@ -121,7 +121,7 @@ OAK_DEBUG_VAR(OakControl);
{
if(layer->color || layer->image && layer->requisite == layer_t::no_requisite)
coveredRect = NSUnionRect(coveredRect, layer->rect);
if(NSView* view = layer->view.get())
if(NSView* view = layer->view)
{
if([view superview] != self)
[view removeFromSuperview];
@@ -214,7 +214,7 @@ OAK_DEBUG_VAR(OakControl);
{
if(aLayer.color)
{
[aLayer.color.get() set];
[aLayer.color set];
NSRectFill(aLayer.rect);
}
@@ -222,12 +222,12 @@ OAK_DEBUG_VAR(OakControl);
{
if(aLayer.image_options & layer_t::stretch)
{
[aLayer.image.get() drawInRect:aLayer.rect fromRect:NSZeroRect operation:NSCompositeCopy fraction:1.0];
[aLayer.image drawInRect:aLayer.rect fromRect:NSZeroRect operation:NSCompositeCopy fraction:1.0];
}
else
{
NSPoint origin = NSMakePoint(aLayer.rect.origin.x + aLayer.content_offset.x, aLayer.rect.origin.y + aLayer.content_offset.y);
[aLayer.image.get() drawAtPoint:origin fromRect:NSZeroRect operation:NSCompositeSourceOver fraction:1.0];
[aLayer.image drawAtPoint:origin fromRect:NSZeroRect operation:NSCompositeSourceOver fraction:1.0];
}
}
@@ -402,7 +402,7 @@ struct rect_cmp_t
trackedLayers[it->rect].push_back(*it);
if(it->tool_tip)
[self addToolTipRect:it->rect owner:it->tool_tip.get() userData:NULL];
[self addToolTipRect:it->rect owner:it->tool_tip userData:NULL];
}
iterate(it, trackedLayers)

View File

@@ -1,29 +0,0 @@
#ifndef OAK_COCOASTL_H_MGEOT7R7
#define OAK_COCOASTL_H_MGEOT7R7
/* ============================= */
/* = Objective-C smart pointer = */
/* ============================= */
template <typename T = NSObject*>
struct objc_ptr
{
typedef objc_ptr self;
T M_object;
objc_ptr () : M_object(nil) { reset(nil); }
objc_ptr (T object) : M_object(nil) { reset(object); }
objc_ptr (self const& rhs) : M_object(nil) { reset(rhs); }
~objc_ptr () { reset(nil); }
self& operator= (self const& rhs) { reset(rhs); return *this; }
self& operator= (T object) { reset(object); return *this; }
operator T () const { return M_object; }
T get () const { return M_object; }
T operator-> () const { return M_object; }
void reset (T object)
{
M_object = object;
}
};
#endif /* end of include guard: OAK_COCOASTL_H_MGEOT7R7 */