Upstream version 9.38.198.0
[platform/framework/web/crosswalk.git] / src / third_party / skia / experimental / SimpleiOSApp / SimpleApp.mm
1 #include "SkApplication.h"
2 #import "SkCanvas.h"
3 #import "SkPaint.h"
4 #import "SkWindow.h"
5 #include "SkGraphics.h"
6 #include "SkCGUtils.h"
7
8 void dummy_main(int , char *[]) {
9 }
10
11 class SkSampleView : public SkView {
12 public:
13     SkSampleView() {
14         this->setVisibleP(true);
15         this->setClipToBounds(false);
16     };
17 protected:
18     virtual void onDraw(SkCanvas* canvas) {
19         canvas->drawColor(0xFFFFFFFF);
20         SkPaint p;
21         p.setTextSize(20);
22         p.setAntiAlias(true);
23         canvas->drawText("finished", 13, 50, 30, p);
24         SkRect r = {50, 50, 80, 80};
25         p.setColor(0xAA11EEAA);
26         canvas->drawRect(r, p);
27     }
28 private:
29     typedef SkView INHERITED; 
30 };
31
32 void application_init() {
33     SkGraphics::Init();
34     SkEvent::Init();
35 }
36
37 void application_term() {
38     SkGraphics::Term();
39     SkEvent::Term();
40 }
41
42 int saved_argc;
43 char** saved_argv;
44
45 IOS_launch_type set_cmd_line_args(int argc, char *argv[], const char* ) {
46     saved_argc = argc;
47     saved_argv = argv;
48     return kTool_iOSLaunchType;
49 }
50
51 class FillLayout : public SkView::Layout {
52 protected:
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 {
63     dummy_main(saved_argc, saved_argv);
64     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