1 #ifndef __DALI_TIZEN_PLATFORM_ABSTRACTION_H__
2 #define __DALI_TIZEN_PLATFORM_ABSTRACTION_H__
5 * Copyright (c) 2014 Samsung Electronics Co., Ltd.
7 * Licensed under the Apache License, Version 2.0 (the "License");
8 * you may not use this file except in compliance with the License.
9 * You may obtain a copy of the License at
11 * http://www.apache.org/licenses/LICENSE-2.0
13 * Unless required by applicable law or agreed to in writing, software
14 * distributed under the License is distributed on an "AS IS" BASIS,
15 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16 * See the License for the specific language governing permissions and
17 * limitations under the License.
21 #include <dali/integration-api/platform-abstraction.h>
22 #include <dali/integration-api/resource-cache.h>
23 #include <dali/public-api/common/dali-common.h>
31 * Construct a platform abstraction and return it.
33 Integration::PlatformAbstraction* CreatePlatformAbstraction();
35 namespace TizenPlatform
38 class DynamicsFactory;
42 * Concrete implementation of the platform abstraction class.
44 class TizenPlatformAbstraction : public Integration::PlatformAbstraction
47 public: // Construction & Destruction
52 TizenPlatformAbstraction();
57 virtual ~TizenPlatformAbstraction();
59 public: // PlatformAbstraction overrides
62 * @copydoc PlatformAbstraction::GetTimeMicroseconds()
64 virtual void GetTimeMicroseconds(unsigned int &seconds, unsigned int µSeconds);
67 * @copydoc PlatformAbstraction::Suspend()
69 virtual void Suspend();
72 * @copydoc PlatformAbstraction::Resume()
74 virtual void Resume();
77 * @copydoc PlatformAbstraction::GetClosestImageSize()
79 virtual ImageDimensions GetClosestImageSize( const std::string& filename,
81 FittingMode::Type fittingMode,
82 SamplingMode::Type samplingMode,
83 bool orientationCorrection );
86 * @copydoc PlatformAbstraction::GetClosestImageSize()
88 virtual ImageDimensions GetClosestImageSize( Integration::ResourcePointer resourceBuffer,
90 FittingMode::Type fittingMode,
91 SamplingMode::Type samplingMode,
92 bool orientationCorrection );
95 * @copydoc PlatformAbstraction::LoadResource()
97 virtual void LoadResource(const Integration::ResourceRequest& request);
100 * @copydoc PlatformAbstraction::LoadResourceSynchronously()
102 virtual Integration::ResourcePointer LoadResourceSynchronously(const Integration::ResourceType& resourceType, const std::string& resourcePath);
105 * @copydoc PlatformAbstraction::SaveResource()
107 virtual void SaveResource(const Integration::ResourceRequest& request);
110 * @copydoc PlatformAbstraction::CancelLoad()
112 virtual void CancelLoad(Integration::ResourceId id, Integration::ResourceTypeId typeId);
115 * @copydoc PlatformAbstraction::GetResources()
117 virtual void GetResources(Integration::ResourceCache& cache);
120 * @copydoc PlatformAbstraction::IsLoading()
122 virtual bool IsLoading();
125 * @copydoc PlatformAbstraction::JoinLoaderThreads()
127 virtual void JoinLoaderThreads();
130 * @copydoc PlatformAbstraction::GetDefaultFontDescription()
132 virtual void GetDefaultFontDescription( std::string& family, std::string& style ) const;
135 * @copydoc PlatformAbstraction::GetDefaultFontSize()
137 virtual int GetDefaultFontSize() const;
140 * @copydoc PlatformAbstraction::SetDpi()
142 virtual void SetDpi (unsigned int DpiHorizontal, unsigned int DpiVertical);
145 * @copydoc PlatformAbstraction::LoadFile()
147 virtual bool LoadFile( const std::string& filename, std::vector< unsigned char >& buffer ) const;
150 * @copydoc PlatformAbstraction::LoadFile()
152 virtual std::string LoadFile( const std::string& filename );
155 * @copydoc PlatformAbstraction::SaveFile()
157 virtual bool SaveFile(const std::string& filename, std::vector< unsigned char >& buffer) const;
160 * @copydoc PlatformAbstraction::GetDynamicsFactory();
162 virtual Integration::DynamicsFactory* GetDynamicsFactory();
165 * @copydoc PlatformAbstraction::LoadShaderBinFile()
167 virtual bool LoadShaderBinFile( const std::string& filename, std::vector< unsigned char >& buffer ) const;
170 * Sets path for data/resource storage.
171 * @param[in] path data/resource storage path
173 void SetDataStoragePath( const std::string& path );
176 ResourceLoader* mResourceLoader;
177 DynamicsFactory* mDynamicsFactory;
178 std::string mDataStoragePath;
181 } // namespace TizenPlatform
184 #endif // __DALI_TIZEN_PLATFORM_ABSTRACTION_H__