2 // Copyright (c) 2014 Samsung Electronics Co., Ltd.
4 // Licensed under the Flora License, Version 1.0 (the License);
5 // you may not use this file except in compliance with the License.
6 // You may obtain a copy of the License at
8 // http://floralicense.org/license/
10 // Unless required by applicable law or agreed to in writing, software
11 // distributed under the License is distributed on an AS IS BASIS,
12 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 // See the License for the specific language governing permissions and
14 // limitations under the License.
17 #include "toolkit-style-monitor.h"
19 #include <dali/public-api/common/dali-common.h>
20 #include <dali/public-api/object/base-object.h>
21 #include <dali/public-api/signals/dali-signal-v2.h>
28 ToolkitStyleMonitor* gToolkitStyleMonitor(NULL);
29 } // unnamed namespace
38 * Stub for the StyleMonitor
40 class StyleMonitor : public BaseObject
42 public: // Creation & Destruction
44 static Dali::StyleMonitor Get();
46 StyleMonitor(ToolkitStyleMonitor *styleMonitor);
49 public: // Style Information
51 std::string GetDefaultFontFamily() const;
52 float GetDefaultFontSize() const;
56 Dali::StyleMonitor::StyleChangeSignalV2& StyleChangeSignal();
58 void EmitStyleChangeSignal(StyleChange styleChange)
60 mStyleChangeSignal.Emit(Dali::StyleMonitor(this), styleChange);
65 Dali::StyleMonitor::StyleChangeSignalV2 mStyleChangeSignal;
67 ToolkitStyleMonitor* mToolkitStyleMonitor;
70 Dali::StyleMonitor StyleMonitor::Get()
72 return gToolkitStyleMonitor->GetStyleMonitor();
75 StyleMonitor::StyleMonitor()
76 : mToolkitStyleMonitor(NULL)
80 StyleMonitor::StyleMonitor(ToolkitStyleMonitor *styleMonitor)
81 : mToolkitStyleMonitor(styleMonitor)
85 StyleMonitor::~StyleMonitor()
89 std::string StyleMonitor::GetDefaultFontFamily() const
91 mToolkitStyleMonitor->mFunctionsCalled.GetDefaultFontFamily = true;
92 return ToolkitStyleMonitor::DEFAULT_FONT_FAMILY;
95 float StyleMonitor::GetDefaultFontSize() const
97 mToolkitStyleMonitor->mFunctionsCalled.GetDefaultFontSize = true;
98 return ToolkitStyleMonitor::DEFAULT_FONT_SIZE;
101 Dali::StyleMonitor::StyleChangeSignalV2& StyleMonitor::StyleChangeSignal()
103 mToolkitStyleMonitor->mFunctionsCalled.SignalStyleChange = true;
104 return mStyleChangeSignal;
107 } // namespace Adaptor
109 } // namespace Internal
111 ////////////////////////////////////////////////////////////////////////////////////////////////////
113 const std::string ToolkitStyleMonitor::DEFAULT_FONT_FAMILY("DefaultFont");
114 const float ToolkitStyleMonitor::DEFAULT_FONT_SIZE(1.0f);
116 ToolkitStyleMonitor::ToolkitStyleMonitor()
117 : mStyleMonitorStub(new Internal::Adaptor::StyleMonitor(this)),
118 mStyleMonitor( mStyleMonitorStub )
120 gToolkitStyleMonitor = this;
123 ToolkitStyleMonitor::~ToolkitStyleMonitor()
125 gToolkitStyleMonitor = NULL;
128 StyleMonitor ToolkitStyleMonitor::GetStyleMonitor()
130 return mStyleMonitor;
133 void ToolkitStyleMonitor::EmitSignalStyleChange(StyleChange styleChange)
135 mStyleMonitorStub->EmitStyleChangeSignal(styleChange);