Tizen 2.1 base
[sdk/ide/native-sample.git] / samples / native / cpp / Sample / Tizen C++ / DrawingBoard / DrawingBoard / project / inc / DrawingBoard.h
1 //
2 // Tizen C++ SDK
3 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
4 //
5 // Licensed under the Flora License, Version 1.0 (the License);
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
8 //
9 //     http://www.tizenopensource.org/license
10 //
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an AS IS BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
16 //
17
18 #ifndef _DRAWING_BOARD_H_
19 #define _DRAWING_BOARD_H_
20
21
22 #include <FBase.h>
23 #include <FGraphics.h>
24 #include <FMedia.h>
25 #include <FApp.h>
26 #include <FUi.h>
27 #include <FSystem.h>
28
29 class Painter;
30
31 class DrawingBoard :
32         public Osp::App::Application,
33         public Osp::System::IScreenEventListener,
34         public Osp::Base::Runtime::ITimerEventListener
35 {
36 public:
37         static Osp::App::Application* CreateInstance(void);
38
39         DrawingBoard();
40         ~DrawingBoard();
41
42         virtual bool OnAppInitializing(Osp::App::AppRegistry& appRegistry);
43         virtual bool OnAppTerminating(Osp::App::AppRegistry& appRegistry, bool forcedTermination = false);
44         virtual void OnForeground(void);
45         virtual void OnBackground(void);
46         virtual void OnLowMemory(void);
47         virtual void OnBatteryLevelChanged(Osp::System::BatteryLevel batteryLevel);
48         virtual void OnTimerExpired(Osp::Base::Runtime::Timer& timer);
49         virtual void OnScreenOn(void);
50         virtual void OnScreenOff(void);
51
52         void ChangePainter(void);
53         void Draw(void);
54
55 private:
56         Osp::Ui::Controls::Form* __pForm;
57         Painter* __pPainter;
58         Osp::Base::Runtime::Timer* __pTimer;
59         int __scenarioIndex;
60 };
61
62 #endif