BVB Source Codes

CRYENGINE Show IUIDraw.h Source code

Return Download CRYENGINE: download IUIDraw.h Source code - Download CRYENGINE Source code - Type:.h
  1. // Copyright 2001-2016 Crytek GmbH / Crytek Group. All rights reserved.
  2.  
  3. /*************************************************************************
  4.    -------------------------------------------------------------------------
  5.    $Id$
  6.    $DateTime$
  7.    Description: UI draw functions interface
  8.  
  9.    -------------------------------------------------------------------------
  10.    History:
  11.    - 07:11:2005: Created by Julien Darre
  12.  
  13. *************************************************************************/
  14.  
  15. #ifndef __IUIDRAW_H__
  16. #define __IUIDRAW_H__
  17.  
  18. //-----------------------------------------------------------------------------------------------------
  19.  
  20. struct IFFont;
  21.  
  22. enum EUIDRAWHORIZONTAL
  23. {
  24.         UIDRAWHORIZONTAL_LEFT,
  25.         UIDRAWHORIZONTAL_CENTER,
  26.         UIDRAWHORIZONTAL_RIGHT
  27. };
  28.  
  29. enum EUIDRAWVERTICAL
  30. {
  31.         UIDRAWVERTICAL_TOP,
  32.         UIDRAWVERTICAL_CENTER,
  33.         UIDRAWVERTICAL_BOTTOM
  34. };
  35.  
  36. //-----------------------------------------------------------------------------------------------------
  37.  
  38. struct IUIDraw
  39. {
  40.         virtual ~IUIDraw(){}
  41.         virtual void Release() = 0;
  42.  
  43.         virtual void PreRender() = 0;
  44.         virtual void PostRender() = 0;
  45.  
  46.         // TODO: uintARGB or float,float,float,float ?
  47.  
  48.         virtual uint32 GetColorARGB(uint8 ucAlpha, uint8 ucRed, uint8 ucGreen, uint8 ucBlue) = 0;
  49.  
  50.         virtual int    CreateTexture(const char* strName, bool dontRelease = true) = 0;
  51.  
  52.         virtual bool   DeleteTexture(int iTextureID) = 0;
  53.  
  54.         virtual void   GetTextureSize(int iTextureID, float& rfSizeX, float& rfSizeY) = 0;
  55.  
  56.         virtual void   DrawTriangle(float fX0, float fY0, float fX1, float fY1, float fX2, float fY2, uint32 uiColor) = 0;
  57.  
  58.         virtual void   DrawLine(float fX1, float fY1, float fX2, float fY2, uint32 uiDiffuse) = 0;
  59.  
  60.         virtual void   DrawQuadSimple(float fX, float fY, float fSizeX, float fSizeY, uint32 uiDiffuse, int iTextureID) = 0;
  61.  
  62.         virtual void   DrawQuad(float fX,
  63.                                 float fY,
  64.                                 float fSizeX,
  65.                                 float fSizeY,
  66.                                 uint32 uiDiffuse = 0,
  67.                                 uint32 uiDiffuseTL = 0, uint32 uiDiffuseTR = 0, uint32 uiDiffuseDL = 0, uint32 uiDiffuseDR = 0,
  68.                                 int iTextureID = -1,
  69.                                 float fUTexCoordsTL = 0.0f, float fVTexCoordsTL = 0.0f,
  70.                                 float fUTexCoordsTR = 1.0f, float fVTexCoordsTR = 0.0f,
  71.                                 float fUTexCoordsDL = 0.0f, float fVTexCoordsDL = 1.0f,
  72.                                 float fUTexCoordsDR = 1.0f, float fVTexCoordsDR = 1.0f,
  73.                                 bool bUse169 = true) = 0;
  74.  
  75.         virtual void DrawImage(int iTextureID, float fX,
  76.                                float fY,
  77.                                float fSizeX,
  78.                                float fSizeY,
  79.                                float fAngleInDegrees,
  80.                                float fRed,
  81.                                float fGreen,
  82.                                float fBlue,
  83.                                float fAlpha,
  84.                                float fS0 = 0.0f,
  85.                                float fT0 = 0.0f,
  86.                                float fS1 = 1.0f,
  87.                                float fT1 = 1.0f) = 0;
  88.  
  89.         virtual void DrawImageCentered(int iTextureID, float fX,
  90.                                        float fY,
  91.                                        float fSizeX,
  92.                                        float fSizeY,
  93.                                        float fAngleInDegrees,
  94.                                        float fRed,
  95.                                        float fGreen,
  96.                                        float fBlue,
  97.                                        float fAlpha) = 0;
  98.  
  99.         virtual void DrawTextSimple(IFFont* pFont,
  100.                                     float fX, float fY,
  101.                                     float fSizeX, float fSizeY,
  102.                                     const char* strText, ColorF color,
  103.                                     EUIDRAWHORIZONTAL eUIDrawHorizontal, EUIDRAWVERTICAL eUIDrawVertical) = 0;
  104.  
  105.         virtual void DrawText(IFFont* pFont,
  106.                               float fX,
  107.                               float fY,
  108.                               float fSizeX,
  109.                               float fSizeY,
  110.                               const char* strText,
  111.                               float fAlpha,
  112.                               float fRed,
  113.                               float fGreen,
  114.                               float fBlue,
  115.                               EUIDRAWHORIZONTAL eUIDrawHorizontalDocking,
  116.                               EUIDRAWVERTICAL eUIDrawVerticalDocking,
  117.                               EUIDRAWHORIZONTAL eUIDrawHorizontal,
  118.                               EUIDRAWVERTICAL eUIDrawVertical) = 0;
  119.  
  120.         virtual void DrawWrappedText(IFFont* pFont,
  121.                                      float fX,
  122.                                      float fY,
  123.                                      float fMaxWidth,
  124.                                      float fSizeX,
  125.                                      float fSizeY,
  126.                                      const char* strText,
  127.                                      float fAlpha,
  128.                                      float fRed,
  129.                                      float fGreen,
  130.                                      float fBlue,
  131.                                      EUIDRAWHORIZONTAL eUIDrawHorizontalDocking,
  132.                                      EUIDRAWVERTICAL eUIDrawVerticalDocking,
  133.                                      EUIDRAWHORIZONTAL eUIDrawHorizontal,
  134.                                      EUIDRAWVERTICAL eUIDrawVertical) = 0;
  135.  
  136.         virtual void GetTextDim(IFFont* pFont,
  137.                                 float* fWidth,
  138.                                 float* fHeight,
  139.                                 float fSizeX,
  140.                                 float fSizeY,
  141.                                 const char* strText) = 0;
  142.  
  143.         virtual void GetWrappedTextDim(IFFont* pFont,
  144.                                        float* fWidth,
  145.                                        float* fHeight,
  146.                                        float fMaxWidth,
  147.                                        float fSizeX,
  148.                                        float fSizeY,
  149.                                        const char* strText) = 0;
  150.  
  151. };
  152.  
  153. //-----------------------------------------------------------------------------------------------------
  154.  
  155. #endif
  156.  
  157. //-----------------------------------------------------------------------------------------------------
  158.  
downloadIUIDraw.h Source code - Download CRYENGINE Source code
Related Source Codes/Software:
postal - 2017-06-11
reactide - Reactide is the first dedicated IDE for React web ... 2017-06-11
rkt - rkt is a pod-native container engine for Linux. It... 2017-06-11
uWebSockets - Tiny WebSockets https://for... 2017-06-11
realworld - TodoMVC for the RealWorld - Exemplary fullstack Me... 2017-06-11
CRYENGINE - CRYENGINE is a powerful real-time game development... 2017-06-11
goreplay - GoReplay is an open-source tool for capturing and ... 2017-06-10
pyenv - Simple Python version management 2017-06-10
redux-saga - An alternative side effect model for Redux apps ... 2017-06-10
angular-starter - 2017-06-10

 Back to top