RenderType is now RenderMode.

cTextCache can now assign colors per char.
Fordward declared some classes.
cFrameBuffer constructor is now protected.
This commit is contained in:
Martín Lucas Golini
2013-01-09 16:50:00 -03:00
parent b08de8b32d
commit 47437749cd
28 changed files with 99 additions and 54 deletions
+1 -1
View File
@@ -67,7 +67,7 @@ class EE_API cGameObject {
Uint32 mFlags;
cLayer * mLayer;
virtual EE_RENDER_MODE RenderTypeFromFlags();
virtual EE_RENDER_MODE RenderModeFromFlags();
void AutoFixTilePos();
+3 -2
View File
@@ -4,8 +4,9 @@
#include <eepp/gaming/base.hpp>
#include <eepp/gaming/cgameobject.hpp>
#include <eepp/graphics/csprite.hpp>
using namespace EE::Graphics;
namespace EE { namespace Graphics {
class cSprite;
}}
namespace EE { namespace Gaming {
+3 -3
View File
@@ -15,8 +15,6 @@ class EE_API cFrameBuffer {
public:
static cFrameBuffer * CreateNew( const Uint32& Width, const Uint32& Height, bool DepthBuffer = false, Window::cWindow * window = NULL );
cFrameBuffer( Window::cWindow * window );
virtual ~cFrameBuffer();
virtual bool Create( const Uint32& Width, const Uint32& Height ) = 0;
@@ -40,7 +38,9 @@ class EE_API cFrameBuffer {
const Int32& GetHeight() const;
const bool& HasDepthBuffer() const;
protected:
protected:
cFrameBuffer( Window::cWindow * window );
Window::cWindow * mWindow;
Int32 mWidth;
Int32 mHeight;
+3 -3
View File
@@ -136,10 +136,10 @@ class EE_API cSprite {
const eeUint& CurrentSubFrame() const;
/** Set the Render Type */
void RenderType( const EE_RENDER_MODE& Effect );
void RenderMode( const EE_RENDER_MODE& Effect );
/** Get the Render Type */
const EE_RENDER_MODE& RenderType() const;
const EE_RENDER_MODE& RenderMode() const;
/** Set the Blend Mode */
void BlendMode( const EE_BLEND_MODE& Blend );
@@ -361,7 +361,7 @@ class EE_API cSprite {
eeInt mRepeations; //!< Number of repetions of the animation, default -1 that equals to loop.
EE_BLEND_MODE mBlend;
EE_BLEND_MODE mBlend;
EE_RENDER_MODE mEffect;
eeUint mCurrentFrame;
+9 -2
View File
@@ -45,13 +45,20 @@ class EE_API cTextCache {
const eeColorA& Color() const;
/** Set the color of the string rendered */
void Color(const eeColorA& Color);
void Color(const eeColorA& color);
/** Set the color of the substring
* @Color The color
* @from The first char to change the color
* @to The last char to change the color
*/
void Color(const eeColorA& color, Uint32 from, Uint32 to );
/** @return The Shadow Font Color */
const eeColorA& ShadowColor() const;
/** Set the shadow color of the string rendered */
void ShadowColor(const eeColorA& Color);
void ShadowColor(const eeColorA& color);
const eeInt& GetNumLines() const;
protected:
+3 -1
View File
@@ -5,7 +5,9 @@
#ifdef PHYSICS_RENDERER_ENABLED
#include <eepp/graphics/csprite.hpp>
namespace EE { namespace Graphics {
class cSprite;
}}
using namespace EE::Graphics;
CP_NAMESPACE_BEGIN
+3 -1
View File
@@ -5,7 +5,9 @@
#ifdef PHYSICS_RENDERER_ENABLED
#include <eepp/graphics/csprite.hpp>
namespace EE { namespace Graphics {
class cSprite;
}}
using namespace EE::Graphics;
CP_NAMESPACE_BEGIN
-1
View File
@@ -22,7 +22,6 @@ using namespace EE::Window;
#include <eepp/graphics/renders.hpp>
#include <eepp/graphics/csubtexture.hpp>
#include <eepp/graphics/csprite.hpp>
#include <eepp/graphics/cfont.hpp>
#include <eepp/graphics/cprimitives.hpp>
using namespace EE::Graphics;
+1 -1
View File
@@ -13,11 +13,11 @@
#include <eepp/ui/cuiskinstate.hpp>
#include <eepp/ui/cuiskinsimple.hpp>
#include <eepp/ui/cuiskincomplex.hpp>
#include <eepp/ui/cuitheme.hpp>
#include <eepp/ui/cuithememanager.hpp>
namespace EE { namespace UI {
class cUITheme;
class cUIManager;
class EE_API cUIControl {
+2 -2
View File
@@ -44,9 +44,9 @@ class EE_API cUIGfx : public cUIComplexControl {
void Color( const eeColorA& color );
const EE_RENDER_MODE& RenderType() const;
const EE_RENDER_MODE& RenderMode() const;
void RenderType( const EE_RENDER_MODE& render );
void RenderMode( const EE_RENDER_MODE& render );
const eeVector2i& AlignOffset() const;
protected:
+6 -2
View File
@@ -3,6 +3,10 @@
#include <eepp/ui/cuicomplexcontrol.hpp>
namespace EE { namespace Graphics {
class cSprite;
}}
namespace EE { namespace UI {
class EE_API cUISprite : public cUIComplexControl {
@@ -44,9 +48,9 @@ class EE_API cUISprite : public cUIComplexControl {
void Color( const eeColorA& color );
const EE_RENDER_MODE& RenderType() const;
const EE_RENDER_MODE& RenderMode() const;
void RenderType( const EE_RENDER_MODE& render );
void RenderMode( const EE_RENDER_MODE& render );
const eeVector2i& AlignOffset() const;
protected:
+6 -2
View File
@@ -3,10 +3,14 @@
#include <eepp/ui/base.hpp>
#include <eepp/ui/uihelper.hpp>
#include <eepp/graphics/ctextureatlas.hpp>
#include <eepp/graphics/cfont.hpp>
#include <eepp/ui/cuiskin.hpp>
namespace EE { namespace Graphics {
class cSprite;
class cTextureAtlas;
class cFont;
}}
namespace EE { namespace UI {
class cUIControl;
+1 -1
View File
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<!-- Written by Qt Creator 2.6.1, 2013-01-06T00:28:28. -->
<!-- Written by Qt Creator 2.6.1, 2013-01-09T16:21:48. -->
<qtcreator>
<data>
<variable>ProjectExplorer.Project.ActiveTarget</variable>
+1 -1
View File
@@ -105,7 +105,7 @@ Uint32 cGameObject::DataId() {
void cGameObject::DataId( Uint32 Id ){
}
EE_RENDER_MODE cGameObject::RenderTypeFromFlags() {
EE_RENDER_MODE cGameObject::RenderModeFromFlags() {
EE_RENDER_MODE Render = RN_NORMAL;
if ( ( mFlags & GObjFlags::GAMEOBJECT_MIRRORED ) && ( mFlags & GObjFlags::GAMEOBJECT_FLIPED ) ) {
+4 -3
View File
@@ -1,4 +1,5 @@
#include <eepp/gaming/cgameobjectsprite.hpp>
#include <eepp/graphics/csprite.hpp>
#include <eepp/graphics/ctextureatlasmanager.hpp>
#include <eepp/gaming/cmap.hpp>
#include <eepp/gaming/ctilelayer.hpp>
@@ -10,7 +11,7 @@ cGameObjectSprite::cGameObjectSprite( const Uint32& Flags, cLayer * Layer, cSpri
mSprite( Sprite )
{
if ( NULL != mSprite )
mSprite->RenderType( RenderTypeFromFlags() );
mSprite->RenderMode( RenderModeFromFlags() );
AssignTilePos();
}
@@ -103,12 +104,12 @@ cSprite * cGameObjectSprite::Sprite() const {
void cGameObjectSprite::Sprite( cSprite * sprite ) {
eeSAFE_DELETE( mSprite );
mSprite = sprite;
mSprite->RenderType( RenderTypeFromFlags() );
mSprite->RenderMode( RenderModeFromFlags() );
}
void cGameObjectSprite::FlagSet( const Uint32& Flag ) {
if ( NULL != mSprite )
mSprite->RenderType( RenderTypeFromFlags() );
mSprite->RenderMode( RenderModeFromFlags() );
cGameObject::FlagSet( Flag );
}
+5 -5
View File
@@ -44,10 +44,10 @@ void cGameObjectSubTexture::Draw() {
*LM->GetTileColor( Tile, 2 ),
*LM->GetTileColor( Tile, 3 ),
ALPHA_NORMAL,
RenderTypeFromFlags()
RenderModeFromFlags()
);
} else {
mSubTexture->Draw( mPos.x, mPos.y, *LM->GetTileColor( Tile ), GetAngle(), 1.f, ALPHA_NORMAL, RenderTypeFromFlags() );
mSubTexture->Draw( mPos.x, mPos.y, *LM->GetTileColor( Tile ), GetAngle(), 1.f, ALPHA_NORMAL, RenderModeFromFlags() );
}
} else {
if ( LM->IsByVertex() ) {
@@ -61,14 +61,14 @@ void cGameObjectSubTexture::Draw() {
LM->GetColorFromPos( eeVector2f( mPos.x + mSubTexture->DestWidth(), mPos.y + mSubTexture->DestHeight() ) ),
LM->GetColorFromPos( eeVector2f( mPos.x + mSubTexture->DestWidth(), mPos.y ) ),
ALPHA_NORMAL,
RenderTypeFromFlags()
RenderModeFromFlags()
);
} else {
mSubTexture->Draw( mPos.x, mPos.y, LM->GetColorFromPos( eeVector2f( mPos.x, mPos.y ) ), GetAngle(), 1.f, ALPHA_NORMAL, RenderTypeFromFlags() );
mSubTexture->Draw( mPos.x, mPos.y, LM->GetColorFromPos( eeVector2f( mPos.x, mPos.y ) ), GetAngle(), 1.f, ALPHA_NORMAL, RenderModeFromFlags() );
}
}
} else {
mSubTexture->Draw( mPos.x, mPos.y, eeColorA(), GetAngle(), 1.f, ALPHA_NORMAL, RenderTypeFromFlags() );
mSubTexture->Draw( mPos.x, mPos.y, eeColorA(), GetAngle(), 1.f, ALPHA_NORMAL, RenderModeFromFlags() );
}
}
}
+2 -2
View File
@@ -13,7 +13,7 @@ cGameObjectSubTextureEx::cGameObjectSubTextureEx( const Uint32& Flags, cLayer *
mColor( Color ),
mVertexColors( NULL )
{
mRender = RenderTypeFromFlags();
mRender = RenderModeFromFlags();
if ( 0 == mAngle )
mAngle = GetAngle();
@@ -84,7 +84,7 @@ void cGameObjectSubTextureEx::Draw() {
}
void cGameObjectSubTextureEx::FlagSet( const Uint32& Flag ) {
mRender = RenderTypeFromFlags();
mRender = RenderModeFromFlags();
cGameObject::FlagSet( Flag );
}
+5 -5
View File
@@ -74,10 +74,10 @@ void cGameObjectVirtual::Draw() {
*LM->GetTileColor( Tile, 2 ),
*LM->GetTileColor( Tile, 3 ),
ALPHA_NORMAL,
RenderTypeFromFlags()
RenderModeFromFlags()
);
} else {
mSubTexture->Draw( mPos.x, mPos.y, *LM->GetTileColor( Tile ), GetAngle(), 1.f, ALPHA_NORMAL, RenderTypeFromFlags() );
mSubTexture->Draw( mPos.x, mPos.y, *LM->GetTileColor( Tile ), GetAngle(), 1.f, ALPHA_NORMAL, RenderModeFromFlags() );
}
} else {
if ( LM->IsByVertex() ) {
@@ -91,14 +91,14 @@ void cGameObjectVirtual::Draw() {
LM->GetColorFromPos( eeVector2f( mPos.x + mSubTexture->DestWidth(), mPos.y + mSubTexture->DestHeight() ) ),
LM->GetColorFromPos( eeVector2f( mPos.x + mSubTexture->DestWidth(), mPos.y ) ),
ALPHA_NORMAL,
RenderTypeFromFlags()
RenderModeFromFlags()
);
} else {
mSubTexture->Draw( mPos.x, mPos.y, LM->GetColorFromPos( eeVector2f( mPos.x, mPos.y ) ), GetAngle(), 1.f, ALPHA_NORMAL, RenderTypeFromFlags() );
mSubTexture->Draw( mPos.x, mPos.y, LM->GetColorFromPos( eeVector2f( mPos.x, mPos.y ) ), GetAngle(), 1.f, ALPHA_NORMAL, RenderModeFromFlags() );
}
}
} else {
mSubTexture->Draw( mPos.x, mPos.y, eeColorA(), GetAngle(), 1.f, ALPHA_NORMAL, RenderTypeFromFlags() );
mSubTexture->Draw( mPos.x, mPos.y, eeColorA(), GetAngle(), 1.f, ALPHA_NORMAL, RenderModeFromFlags() );
}
} else {
cPrimitives P;
+5 -4
View File
@@ -22,6 +22,7 @@
#include <eepp/ui/cuimessagebox.hpp>
#include <eepp/ui/cuitabwidget.hpp>
#include <eepp/ui/tools/ctextureatlaseditor.hpp>
#include <eepp/graphics/csprite.hpp>
#include <eepp/graphics/ctextureatlasmanager.hpp>
#include <eepp/graphics/cglobaltextureatlas.hpp>
#include <eepp/graphics/ctextureatlasloader.hpp>
@@ -499,13 +500,13 @@ void cMapEditor::ChkClickDI( const cUIEvent * Event ) {
void cMapEditor::UpdateGfx() {
if ( mChkMirrored->Active() && mChkFliped->Active() )
mGfxPreview->RenderType( RN_FLIPMIRROR );
mGfxPreview->RenderMode( RN_FLIPMIRROR );
else if( mChkMirrored->Active() )
mGfxPreview->RenderType( RN_MIRROR );
mGfxPreview->RenderMode( RN_MIRROR );
else if ( mChkFliped->Active() )
mGfxPreview->RenderType( RN_FLIP );
mGfxPreview->RenderMode( RN_FLIP );
else
mGfxPreview->RenderType( RN_NORMAL );
mGfxPreview->RenderMode( RN_NORMAL );
if ( mChkRot90->Active() )
mGfxPreview->Angle( 90 );
+2 -2
View File
@@ -852,11 +852,11 @@ const eeUint& cSprite::CurrentSubFrame() const {
return mCurrentSubFrame;
}
void cSprite::RenderType( const EE_RENDER_MODE& Effect ) {
void cSprite::RenderMode( const EE_RENDER_MODE& Effect ) {
mEffect = Effect;
}
const EE_RENDER_MODE& cSprite::RenderType() const {
const EE_RENDER_MODE& cSprite::RenderMode() const {
return mEffect;
}
+17 -5
View File
@@ -78,20 +78,32 @@ const eeColorA& cTextCache::Color() const {
return mFontColor;
}
void cTextCache::Color(const eeColorA& Color) {
if ( mFontColor != Color ) {
mFontColor = Color;
void cTextCache::Color( const eeColorA& color ) {
if ( mFontColor != color ) {
mFontColor = color;
mColors.assign( mText.size() * EE_QUAD_VERTEX, mFontColor );
}
}
void cTextCache::Color( const eeColorA& color, Uint32 from, Uint32 to ) {
std::size_t s = mText.size();
if ( to >= s ) { to = s - 1; }
if ( from <= to && from < s && to < s ) {
for ( Uint32 i = from * EE_QUAD_VERTEX; i < to * EE_QUAD_VERTEX; i++ ) {
mColors[ i ] = color;
}
}
}
const eeColorA& cTextCache::ShadowColor() const {
return mFontShadowColor;
}
void cTextCache::ShadowColor(const eeColorA& Color) {
mFontShadowColor = Color;
void cTextCache::ShadowColor(const eeColorA& color) {
mFontShadowColor = color;
}
std::vector<eeVertexCoords>& cTextCache::VertextCoords() {
+2
View File
@@ -2,6 +2,8 @@
#ifdef PHYSICS_RENDERER_ENABLED
#include <eepp/graphics/csprite.hpp>
CP_NAMESPACE_BEGIN
cShapeCircleSprite * cShapeCircleSprite::New( cBody * body, cpFloat radius, cVect offset, cSprite * Sprite, bool AutoDeleteSprite ) {
+2
View File
@@ -2,6 +2,8 @@
#ifdef PHYSICS_RENDERER_ENABLED
#include <eepp/graphics/csprite.hpp>
CP_NAMESPACE_BEGIN
cShapePolySprite * cShapePolySprite::New( cBody * body, int numVerts, cVect *verts, cVect offset, cSprite * Sprite, bool AutoDeleteSprite ) {
+1
View File
@@ -1,4 +1,5 @@
#include <eepp/ui/cuicontrol.hpp>
#include <eepp/ui/cuitheme.hpp>
#include <eepp/ui/cuimanager.hpp>
namespace EE { namespace UI {
+2 -2
View File
@@ -126,11 +126,11 @@ void cUIGfx::Color( const eeColorA& color ) {
Alpha( color.A() );
}
const EE_RENDER_MODE& cUIGfx::RenderType() const {
const EE_RENDER_MODE& cUIGfx::RenderMode() const {
return mRender;
}
void cUIGfx::RenderType( const EE_RENDER_MODE& render ) {
void cUIGfx::RenderMode( const EE_RENDER_MODE& render ) {
mRender = render;
}
+3 -2
View File
@@ -1,4 +1,5 @@
#include <eepp/ui/cuisprite.hpp>
#include <eepp/graphics/csprite.hpp>
namespace EE { namespace UI {
@@ -90,11 +91,11 @@ void cUISprite::Color( const eeColorA& color ) {
Alpha( color.A() );
}
const EE_RENDER_MODE& cUISprite::RenderType() const {
const EE_RENDER_MODE& cUISprite::RenderMode() const {
return mRender;
}
void cUISprite::RenderType( const EE_RENDER_MODE& render ) {
void cUISprite::RenderMode( const EE_RENDER_MODE& render ) {
mRender = render;
}
+3
View File
@@ -1,6 +1,9 @@
#include <eepp/ui/cuitheme.hpp>
#include <eepp/ui/cuiskinsimple.hpp>
#include <eepp/ui/cuiskincomplex.hpp>
#include <eepp/graphics/csprite.hpp>
#include <eepp/graphics/ctextureatlas.hpp>
#include <eepp/graphics/cfont.hpp>
#include <eepp/graphics/ctexturefactory.hpp>
#include <eepp/graphics/ctextureatlasmanager.hpp>
#include <eepp/system/filesystem.hpp>
+4 -1
View File
@@ -194,6 +194,9 @@ void cEETest::OnFontLoaded( cResourceLoader * ObjLoaded ) {
mEEText.Create( TTFB, "Entropia Engine++\nCTRL + Number to change Demo Screen\nRight click to see the PopUp Menu" );
mFBOText.Create( TTFB, "This is a VBO\nInside of a FBO" );
mFBOText.Color( eeColorA(255,255,0,255), 10, 13 );
mFBOText.Color( eeColorA(255,255,0,255), 25, 28 );
mInfoText.Create( FF, "", eeColorA(255,255,255,150) );
}
@@ -1085,7 +1088,7 @@ void cEETest::Screen2() {
SP.Draw();
#ifndef EE_GLES
CL1.RenderType( RN_ISOMETRIC );
CL1.RenderMode( RN_ISOMETRIC );
if ( CL1.GetAABB().IntersectCircle( Mousef, 80.f ) )
CL1.Color( eeColorA(255, 0, 0, 200) );