2 * Copyright (c) 2014 Samsung Electronics Co., Ltd.
4 * Licensed under the Apache License, Version 2.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://www.apache.org/licenses/LICENSE-2.0
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.
18 #include "toolkit-style-monitor.h"
20 #include <dali/public-api/common/dali-common.h>
21 #include <dali/public-api/object/base-object.h>
22 #include <dali/public-api/signals/dali-signal-v2.h>
29 ToolkitStyleMonitor* gToolkitStyleMonitor(NULL);
30 } // unnamed namespace
39 * Stub for the StyleMonitor
41 class StyleMonitor : public BaseObject
43 public: // Creation & Destruction
45 static Dali::StyleMonitor Get();
47 StyleMonitor(ToolkitStyleMonitor *styleMonitor);
50 public: // Style Information
52 std::string GetDefaultFontFamily() const;
53 float GetDefaultFontSize() const;
57 Dali::StyleMonitor::StyleChangeSignalV2& StyleChangeSignal();
59 void EmitStyleChangeSignal(StyleChange styleChange)
61 mStyleChangeSignal.Emit(Dali::StyleMonitor(this), styleChange);
66 Dali::StyleMonitor::StyleChangeSignalV2 mStyleChangeSignal;
68 ToolkitStyleMonitor* mToolkitStyleMonitor;
71 Dali::StyleMonitor StyleMonitor::Get()
73 return gToolkitStyleMonitor->GetStyleMonitor();
76 StyleMonitor::StyleMonitor()
77 : mToolkitStyleMonitor(NULL)
81 StyleMonitor::StyleMonitor(ToolkitStyleMonitor *styleMonitor)
82 : mToolkitStyleMonitor(styleMonitor)
86 StyleMonitor::~StyleMonitor()
90 std::string StyleMonitor::GetDefaultFontFamily() const
92 mToolkitStyleMonitor->mFunctionsCalled.GetDefaultFontFamily = true;
93 return ToolkitStyleMonitor::DEFAULT_FONT_FAMILY;
96 float StyleMonitor::GetDefaultFontSize() const
98 mToolkitStyleMonitor->mFunctionsCalled.GetDefaultFontSize = true;
99 return ToolkitStyleMonitor::DEFAULT_FONT_SIZE;
102 Dali::StyleMonitor::StyleChangeSignalV2& StyleMonitor::StyleChangeSignal()
104 mToolkitStyleMonitor->mFunctionsCalled.SignalStyleChange = true;
105 return mStyleChangeSignal;
108 } // namespace Adaptor
110 } // namespace Internal
112 ////////////////////////////////////////////////////////////////////////////////////////////////////
114 const std::string ToolkitStyleMonitor::DEFAULT_FONT_FAMILY("DefaultFont");
115 const float ToolkitStyleMonitor::DEFAULT_FONT_SIZE(1.0f);
117 ToolkitStyleMonitor::ToolkitStyleMonitor()
118 : mStyleMonitorStub(new Internal::Adaptor::StyleMonitor(this)),
119 mStyleMonitor( mStyleMonitorStub )
121 gToolkitStyleMonitor = this;
124 ToolkitStyleMonitor::~ToolkitStyleMonitor()
126 gToolkitStyleMonitor = NULL;
129 StyleMonitor ToolkitStyleMonitor::GetStyleMonitor()
131 return mStyleMonitor;
134 void ToolkitStyleMonitor::EmitSignalStyleChange(StyleChange styleChange)
136 mStyleMonitorStub->EmitStyleChangeSignal(styleChange);