blob: dba8bccafd30a3abe488f5ef0e7953d7db8cc520 [file] [log] [blame]
yangsu@google.com688823f2011-08-30 19:14:13 +00001#import "SkCanvas.h"
2#import "SkPaint.h"
3#import "SkWindow.h"
4#include "SkGraphics.h"
5#include "SkCGUtils.h"
caryclark@google.com5987f582012-10-02 18:33:14 +00006
7extern void tool_main(int argc, char *argv[]);
8void save_args(int argc, char *argv[]);
9
yangsu@google.com688823f2011-08-30 19:14:13 +000010class SkSampleView : public SkView {
11public:
12 SkSampleView() {
13 this->setVisibleP(true);
14 this->setClipToBounds(false);
15 };
16protected:
17 virtual void onDraw(SkCanvas* canvas) {
18 canvas->drawColor(0xFFFFFFFF);
19 SkPaint p;
20 p.setTextSize(20);
21 p.setAntiAlias(true);
caryclark@google.com5987f582012-10-02 18:33:14 +000022 canvas->drawText("finished", 13, 50, 30, p);
yangsu@google.com688823f2011-08-30 19:14:13 +000023 SkRect r = {50, 50, 80, 80};
24 p.setColor(0xAA11EEAA);
25 canvas->drawRect(r, p);
26 }
27private:
28 typedef SkView INHERITED;
29};
30
31void application_init() {
32 SkGraphics::Init();
33 SkEvent::Init();
34}
35
36void application_term() {
37 SkGraphics::Term();
38 SkEvent::Term();
39}
40
caryclark@google.com5987f582012-10-02 18:33:14 +000041int saved_argc;
42char** saved_argv;
43
44void save_args(int argc, char *argv[]) {
45 saved_argc = argc;
46 saved_argv = argv;
47}
48
yangsu@google.com688823f2011-08-30 19:14:13 +000049class FillLayout : public SkView::Layout {
50protected:
51 virtual void onLayoutChildren(SkView* parent) {
52 SkView* view = SkView::F2BIter(parent).next();
53 view->setSize(parent->width(), parent->height());
54 }
55};
56
57#import "SimpleApp.h"
58@implementation SimpleApp
59
60- (id)initWithDefaults {
caryclark@google.com5987f582012-10-02 18:33:14 +000061 (void) tool_main(saved_argc, saved_argv);
yangsu@google.com688823f2011-08-30 19:14:13 +000062 if (self = [super initWithDefaults]) {
63 fWind = new SkOSWindow(self);
64 fWind->setLayout(new FillLayout, false);
65 fWind->attachChildToFront(new SkSampleView)->unref();
66 }
67 return self;
68}
69
70@end