46 release(this->control);
69 $(self, bind, inlets, dictionary);
120 self->
control = retain(control);
135 release(self->
label);
137 self->
label = retain(label);
190#pragma mark - Class lifecycle
197 ((ObjectInterface *) clazz->interface)->dealloc =
dealloc;
200 ((ViewInterface *) clazz->interface)->init =
init;
204 ((InputInterface *) clazz->interface)->setLabel =
setLabel;
205 ((InputInterface *) clazz->interface)->setOrientation =
setOrientation;
217 clazz = _initialize(&(
const ClassDef) {
220 .instanceSize =
sizeof(
Input),
221 .interfaceOffset = offsetof(
Input, interface),
222 .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)
@ StackViewAxisHorizontal
#define MakeInlets(...)
Creates a null-termianted array of Inlets.
#define MakeInlet(name, type, dest, data)
Creates an Inlet with the specified parameters.
static void addClassName(View *self, const char *className)
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.
StackViewAxis axis
The axis.
Views are the fundamental building blocks of ObjectivelyMVC user interfaces.
ViewAlignment alignment
The alignment.
View * initWithFrame(View *self, const SDL_Rect *frame)
Initializes this View with the specified frame.