46 release(this->control);
69 $(self, bind, inlets, dictionary);
120 self->
control = retain(control);
135 release(self->
label);
137 self->
label = retain(label);
196#pragma mark - Class lifecycle
203 ((ObjectInterface *) clazz->interface)->dealloc =
dealloc;
206 ((ViewInterface *) clazz->interface)->init =
init;
210 ((InputInterface *) clazz->interface)->setLabel =
setLabel;
211 ((InputInterface *) clazz->interface)->setOrientation =
setOrientation;
223 clazz = _initialize(&(
const ClassDef) {
226 .instanceSize =
sizeof(
Input),
227 .interfaceSize =
sizeof(InputInterface),
static Label * initWithText(Label *self, const char *text, Font *font)
static void removeSubview(View *self, View *subview)
static void addSubview(View *self, View *subview)
const EnumName StackViewAxisNames[]
@ StackViewAxisHorizontal
static void addEnumAttribute(Style *self, const char *attr, const EnumName *names, int value)
#define MakeInlets(...)
Creates a null-termianted array of Inlets.
#define MakeInlet(name, type, dest, data)
Creates an Inlet with the specified parameters.
const EnumName ViewAlignmentNames[]
static void addClassName(View *self, const char *className)
static void invalidateStyle(View *self)
static void removeFromSuperview(View *self)
@ ViewAlignmentMiddleCenter
@ ViewAlignmentMiddleRight
@ ViewAlignmentMiddleLeft
Controls are Views which capture and respond to events.
Inlets enable inbound data binding of View attributes through JSON.
Labels provide a configurable container for Text.
StackViews are containers that manage the arrangement of their subviews.
Views are the fundamental building blocks of ObjectivelyMVC user interfaces.
View * initWithFrame(View *self, const SDL_Rect *frame)
Initializes this View with the specified frame.