AppEasy Core SDK  1.5.0
Cross platform mobile and desktop app and game development SDK - The easy way to make apps
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Defines
IzPlatformImaging.h
Go to the documentation of this file.
00001 // 
00002 //
00003 // AppEasy SDK - Cross Platform Multi-purpose Game and App Engine
00004 //
00005 // Developed by Matthew Hopwood of Pocketeers Limited - www.pocketeers.co.uk
00006 //
00007 // For updates, tutorials and more details check out www.appeasymobile.com
00008 //
00009 // This code is provided free of charge and without any warranty whatsoever. You must ensure that this whole notice is present in all files and derivatives, so the reader knows its origin.
00010 // If you use this SDK in your product then please ensure that you credit AppEasy's usage appropriately. Please see www.appeasymobile.com for licensing details and support
00011 //
00012 //
00013 
00014 #if !defined(_CIZ_PLATFORM_IMAGING_H_)
00015 #define _CIZ_PLATFORM_IMAGING_H_
00016 
00017 #include "CzPlatform.h"
00018 #include "CzImage.h"
00019 
00020 #define PLATFORM_IMAGING    PLATFORM->getImaging()
00021 
00022 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
00023 //
00024 // IzPlatformImaging
00025 //
00026 ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
00027 class IzPlatformImaging
00028 {
00029     // Properties
00030 protected:
00031     bool        Initialised;
00032 public:
00033     bool        isInitialised() const   { return Initialised; }
00034     // Properties end
00035 public:
00036     // Init
00037     virtual int         Init() = 0;
00038     virtual void        Release() = 0;
00039     // Textures
00040     virtual CzTexture   CreateTexture(void* memory_file, int memory_file_size) = 0;
00041     virtual CzTexture   CreateTexture(void* pixels, int width, int height, int pitch, CzImage::eFormat format, bool modifiable) = 0;
00042     virtual CzTexture   CreateTexture(CzTexture source, CzImage::eFormat format) = 0;
00043     virtual void        ChangeTexture(CzTexture source, void* pixels, CzImage::eFormat format) = 0;
00044     virtual void        UploadTexture(CzTexture texture) = 0;
00045     virtual void        DestroyTexture(CzTexture texture) = 0;
00046     virtual void        setTextureFiltering(CzTexture texture, bool enable) = 0;
00047     virtual void        getTextureInfo(CzTexture texture, CzTextureinfo& texture_info) = 0;
00048     virtual void        SaveTextureAsPng(CzTexture texture, const char* filename) = 0;
00049     virtual void        SaveTextureAsJpeg(CzTexture texture, const char* filename) = 0;
00050 };
00051 
00052 
00053 #endif  // _CIZ_PLATFORM_IMAGING_H_