quakeforge/ruamoko/qwaq/qwaq-proxyview.r
Bill Currie fd0700f9ae [qwaq] Add a proxy view class
The idea is that the view can be switched out readily: the proxy simply
passes all messages to its view object.
2020-03-24 21:02:54 +09:00

38 lines
552 B
R

#include "qwaq-proxyview.h"
@implementation ProxyView
- (void) forward: (SEL) sel : (@va_list) args
{
if (!view) {
return;
}
obj_msg_sendv (view, sel, args);
}
-initWithView:(View *) view
{
if (!(self = [super init])) {
return nil;
}
self.view = view;
return self;
}
-setView:(View *) view
{
int state = [self.view state];
if (state & sfInFocus) {
[self.view loseFocus];
[self.view hide];
}
self.view = view;
if (state & sfDrawn) {
[view draw];
}
if (state & sfInFocus) {
[view takeFocus];
}
return self;
}
@end