aboutsummaryrefslogtreecommitdiff
path: root/guilib/Texture.h
diff options
context:
space:
mode:
Diffstat (limited to 'guilib/Texture.h')
-rw-r--r--guilib/Texture.h123
1 files changed, 0 insertions, 123 deletions
diff --git a/guilib/Texture.h b/guilib/Texture.h
deleted file mode 100644
index f54df0e73c..0000000000
--- a/guilib/Texture.h
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * Copyright (C) 2005-2008 Team XBMC
- * http://www.xbmc.org
- *
- * This Program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
- *
- * This Program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with XBMC; see the file COPYING. If not, write to
- * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
- * http://www.gnu.org/copyleft/gpl.html
- *
- */
-
-/*!
-\file Texture.h
-\brief
-*/
-
-#ifndef GUILIB_TEXTURE_H
-#define GUILIB_TEXTURE_H
-
-#include "gui3d.h"
-#include "StdString.h"
-#include "XBTF.h"
-
-#pragma pack(1)
-struct COLOR {unsigned char b,g,r,x;}; // Windows GDI expects 4bytes per color
-#pragma pack()
-
-#ifdef HAS_DX
-#include "D3DResource.h"
-#endif
-
-class CTexture;
-class CGLTexture;
-class CDXTexture;
-
-#pragma once
-
-/*!
-\ingroup textures
-\brief Base texture class, subclasses of which depend on the render spec (DX, GL etc.)
-*/
-class CBaseTexture
-{
-
-public:
- CBaseTexture(unsigned int width = 0, unsigned int height = 0, unsigned int format = XB_FMT_A8R8G8B8);
- virtual ~CBaseTexture();
-
- bool LoadFromFile(const CStdString& texturePath, unsigned int maxHeight = 0, unsigned int maxWidth = 0,
- bool autoRotate = false, unsigned int *originalWidth = NULL, unsigned int *originalHeight = NULL);
- bool LoadFromMemory(unsigned int width, unsigned int height, unsigned int pitch, unsigned int format, unsigned char* pixels);
- bool LoadPaletted(unsigned int width, unsigned int height, unsigned int pitch, unsigned int format, const unsigned char *pixels, const COLOR *palette);
-
- bool HasAlpha() const;
-
- virtual void CreateTextureObject() = 0;
- virtual void DestroyTextureObject() = 0;
- virtual void LoadToGPU() = 0;
-
- XBMC::TexturePtr GetTextureObject() const
- {
-#ifdef HAS_DX
- return m_texture.Get();
-#else
- return m_texture;
-#endif
- }
- unsigned char* GetPixels() const { return m_pixels; }
- unsigned int GetPitch() const { return GetPitch(m_textureWidth); }
- unsigned int GetRows() const { return GetRows(m_textureHeight); }
- unsigned int GetTextureWidth() const { return m_textureWidth; }
- unsigned int GetTextureHeight() const { return m_textureHeight; }
- unsigned int GetWidth() const { return m_imageWidth; }
- unsigned int GetHeight() const { return m_imageHeight; }
- int GetOrientation() const { return m_orientation; }
-
- void Update(unsigned int width, unsigned int height, unsigned int pitch, unsigned int format, const unsigned char *pixels, bool loadToGPU);
- void Allocate(unsigned int width, unsigned int height, unsigned int format);
- void ClampToEdge();
-
- static unsigned int PadPow2(unsigned int x);
-
-protected:
- // helpers for computation of texture parameters for compressed textures
- unsigned int GetPitch(unsigned int width) const;
- unsigned int GetRows(unsigned int height) const;
- unsigned int GetBlockSize() const;
-
- unsigned int m_imageWidth;
- unsigned int m_imageHeight;
- unsigned int m_textureWidth;
- unsigned int m_textureHeight;
-#ifdef HAS_DX
- CD3DTexture m_texture;
-#else
- XBMC::TexturePtr m_texture;
-#endif
- unsigned char* m_pixels;
- bool m_loadedToGPU;
- unsigned int m_format;
- int m_orientation;
- bool m_hasAlpha;
-};
-
-#if defined(HAS_GL) || defined(HAS_GLES)
-#include "TextureGL.h"
-#define CTexture CGLTexture
-#elif defined(HAS_DX)
-#include "TextureDX.h"
-#define CTexture CDXTexture
-#endif
-
-#endif