blob: 040472cfe371b61760bacde6b2ce19ff8ca5f0cf [file] [log] [blame]
caryclark17f0b6d2014-07-22 10:15:34 -07001#include "SkApplication.h"
yangsu@google.com688823f2011-08-30 19:14:13 +00002#import "SkCanvas.h"
3#import "SkPaint.h"
4#import "SkWindow.h"
5#include "SkGraphics.h"
6#include "SkCGUtils.h"
caryclark@google.com5987f582012-10-02 18:33:14 +00007
caryclark17f0b6d2014-07-22 10:15:34 -07008void dummy_main(int , char *[]) {
9}
caryclark@google.com5987f582012-10-02 18:33:14 +000010
yangsu@google.com688823f2011-08-30 19:14:13 +000011class SkSampleView : public SkView {
12public:
13 SkSampleView() {
14 this->setVisibleP(true);
15 this->setClipToBounds(false);
16 };
17protected:
18 virtual void onDraw(SkCanvas* canvas) {
19 canvas->drawColor(0xFFFFFFFF);
20 SkPaint p;
21 p.setTextSize(20);
22 p.setAntiAlias(true);
caryclark@google.com5987f582012-10-02 18:33:14 +000023 canvas->drawText("finished", 13, 50, 30, p);
yangsu@google.com688823f2011-08-30 19:14:13 +000024 SkRect r = {50, 50, 80, 80};
25 p.setColor(0xAA11EEAA);
26 canvas->drawRect(r, p);
27 }
28private:
29 typedef SkView INHERITED;
30};
31
32void application_init() {
33 SkGraphics::Init();
34 SkEvent::Init();
35}
36
37void application_term() {
38 SkGraphics::Term();
39 SkEvent::Term();
40}
41
caryclark@google.com5987f582012-10-02 18:33:14 +000042int saved_argc;
43char** saved_argv;
44
caryclark17f0b6d2014-07-22 10:15:34 -070045IOS_launch_type set_cmd_line_args(int argc, char *argv[], const char* ) {
caryclark@google.com5987f582012-10-02 18:33:14 +000046 saved_argc = argc;
47 saved_argv = argv;
caryclark17f0b6d2014-07-22 10:15:34 -070048 return kTool_iOSLaunchType;
caryclark@google.com5987f582012-10-02 18:33:14 +000049}
50
yangsu@google.com688823f2011-08-30 19:14:13 +000051class FillLayout : public SkView::Layout {
52protected:
53 virtual void onLayoutChildren(SkView* parent) {
54 SkView* view = SkView::F2BIter(parent).next();
55 view->setSize(parent->width(), parent->height());
56 }
57};
58
59#import "SimpleApp.h"
60@implementation SimpleApp
61
62- (id)initWithDefaults {
caryclark17f0b6d2014-07-22 10:15:34 -070063 dummy_main(saved_argc, saved_argv);
yangsu@google.com688823f2011-08-30 19:14:13 +000064 if (self = [super initWithDefaults]) {
65 fWind = new SkOSWindow(self);
66 fWind->setLayout(new FillLayout, false);
67 fWind->attachChildToFront(new SkSampleView)->unref();
68 }
69 return self;
70}
71
72@end