#include "gui/Size.h" #include "gui/Point.h" #include "gui/Rect.h" #include "gui/View.h" @implementation View - (id) initWithComponents: (int)x : (int)y : (int)w : (int)h { self = [self init]; xpos = xabs = x; ypos = yabs = y; xlen = w; ylen = h; parent = nil; return self; } - (id) initWithOrigin: (Point)anOrigin size: (Size)aSize { return [self initWithComponents:anOrigin.x :anOrigin.y :aSize.width :aSize.height]; } - (id) initWithBounds: (Rect)aRect { return [self initWithOrigin:aRect.origin size:aRect.size]; } - (id) canFocus: (int) cf { flags |= 1; return self; } - (int) canFocus { return flags & 1; } - (Point) basePos { return makePoint (xabs, yabs); } - (void) setBasePos: (int) x y: (int) y { local Point point = {x, y}; xabs = xpos + x; yabs = ypos + y; } - (void) setBasePosFromView: (View *) view { Point pos = [view basePos]; xabs = xpos + pos.x; yabs = ypos + pos.y; } -(void) draw { } - (int) keyEvent:(int)key unicode:(int)unicode down:(int)down { return 0; } @end