Further improvements in UI porting
parent
10b2c562fb
commit
574c07e388
|
@ -1,5 +1,6 @@
|
|||
// * This file is part of the COLOBOT source code
|
||||
// * Copyright (C) 2001-2008, Daniel ROUX & EPSITEC SA, www.epsitec.ch
|
||||
// * Copyright (C) 2012 Polish Portal of Colobot (PPC)
|
||||
// *
|
||||
// * 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
|
||||
|
@ -24,22 +25,22 @@
|
|||
#include "graphics/engine/engine.h"
|
||||
//#include "common/language.h"
|
||||
//#include "old/math3d.h"
|
||||
//#include "common/event.h"
|
||||
#include "common/event.h"
|
||||
#include "common/misc.h"
|
||||
#include "common/iman.h"
|
||||
#include "common/restext.h"
|
||||
#include "ui/button.h"
|
||||
|
||||
|
||||
namespace Ui {
|
||||
|
||||
const float DELAY1 = 0.4f;
|
||||
const float DELAY2 = 0.1f;
|
||||
|
||||
|
||||
|
||||
// Object's constructor.
|
||||
|
||||
CButton::CButton(CInstanceManager* iMan) : CControl(iMan)
|
||||
CButton::CButton() : CControl()
|
||||
{
|
||||
m_bCapture = false;
|
||||
m_bImmediat = false;
|
||||
|
@ -162,10 +163,10 @@ void CButton::Draw()
|
|||
|
||||
if ( m_state & STATE_WARNING ) // shading yellow-black?
|
||||
{
|
||||
pos.x = m_pos.x-( 8.0f/640.0f);
|
||||
pos.y = m_pos.y-( 4.0f/480.0f);
|
||||
dim.x = m_dim.x+(16.0f/640.0f);
|
||||
dim.y = m_dim.y+( 8.0f/480.0f);
|
||||
pos.x = m_pos.x - ( 8.0f / 640.0f);
|
||||
pos.y = m_pos.y - ( 4.0f / 480.0f);
|
||||
dim.x = m_dim.x + (16.0f / 640.0f);
|
||||
dim.y = m_dim.y + ( 8.0f / 480.0f);
|
||||
if ( m_state & STATE_SHADOW )
|
||||
{
|
||||
DrawShadow(pos, dim);
|
||||
|
@ -188,17 +189,17 @@ void CButton::Draw()
|
|||
m_engine->SetTexture("button2.tga");
|
||||
m_engine->SetState(Gfx::ENG_RSTATE_NORMAL);
|
||||
|
||||
dp = 0.5f/256.0f;
|
||||
dp = 0.5f / 256.0f;
|
||||
|
||||
uv1.x = 128.0f/256.0f;
|
||||
uv1.y = 96.0f/256.0f;
|
||||
uv2.x = 136.0f/256.0f;
|
||||
uv2.y = 128.0f/256.0f;
|
||||
uv1.x = 128.0f / 256.0f;
|
||||
uv1.y = 96.0f / 256.0f;
|
||||
uv2.x = 136.0f / 256.0f;
|
||||
uv2.y = 128.0f / 256.0f;
|
||||
|
||||
if ( (m_state & STATE_ENABLE) == 0 )
|
||||
{
|
||||
uv1.x += 16.0f/256.0f;
|
||||
uv2.x += 16.0f/256.0f;
|
||||
uv1.x += 16.0f / 256.0f;
|
||||
uv2.x += 16.0f / 256.0f;
|
||||
}
|
||||
|
||||
uv1.x += dp;
|
||||
|
@ -206,15 +207,15 @@ void CButton::Draw()
|
|||
uv2.x -= dp;
|
||||
uv2.y -= dp;
|
||||
|
||||
pos.y = m_pos.y+5.0f/480.0f;
|
||||
dim.y = m_dim.y-10.0f/480.0f;
|
||||
pos.x = m_pos.x+5.0f/640.0f;
|
||||
dim.x = 3.0f/640.0f;
|
||||
pos.y = m_pos.y + 5.0f / 480.0f;
|
||||
dim.y = m_dim.y - 10.0f / 480.0f;
|
||||
pos.x = m_pos.x + 5.0f / 640.0f;
|
||||
dim.x = 3.0f / 640.0f;
|
||||
DrawIcon(pos, dim, uv1, uv2, 0.0f);
|
||||
|
||||
uv1.x += 8.0f/256.0f;
|
||||
uv2.x += 8.0f/256.0f;
|
||||
pos.x = m_pos.x+m_dim.x-5.0f/640.0f-3.0f/640.0f;
|
||||
uv1.x += 8.0f / 256.0f;
|
||||
uv2.x += 8.0f / 256.0f;
|
||||
pos.x = m_pos.x + m_dim.x - 5.0f / 640.0f - 3.0f / 640.0f;
|
||||
DrawIcon(pos, dim, uv1, uv2, 0.0f);
|
||||
}
|
||||
#endif
|
||||
|
@ -248,3 +249,4 @@ bool CButton::GetRepeat()
|
|||
return m_bRepeat;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
// * This file is part of the COLOBOT source code
|
||||
// * Copyright (C) 2001-2008, Daniel ROUX & EPSITEC SA, www.epsitec.ch
|
||||
// * Copyright (C) 2012 Polish Portal of Colobot (PPC)
|
||||
// *
|
||||
// * 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
|
||||
|
@ -21,16 +22,16 @@
|
|||
|
||||
#include "ui/control.h"
|
||||
|
||||
namespace Gfx{
|
||||
class CEngine;
|
||||
}
|
||||
|
||||
//class CD3DEngine;
|
||||
|
||||
|
||||
|
||||
namespace Ui {
|
||||
class CButton : public CControl
|
||||
{
|
||||
public:
|
||||
CButton(CInstanceManager* iMan);
|
||||
virtual ~CButton();
|
||||
CButton ();
|
||||
virtual ~CButton ();
|
||||
|
||||
bool Create(Math::Point pos, Math::Point dim, int icon, EventType eventType);
|
||||
|
||||
|
@ -53,4 +54,4 @@ protected:
|
|||
float m_repeat;
|
||||
};
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
// * This file is part of the COLOBOT source code
|
||||
// * Copyright (C) 2001-2008, Daniel ROUX & EPSITEC SA, www.epsitec.ch
|
||||
// * Copyright (C) 2012 Polish Portal of Colobot (PPC)
|
||||
// *
|
||||
// * 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
|
||||
|
@ -16,10 +17,10 @@
|
|||
|
||||
|
||||
//#include <windows.h>
|
||||
#include <stdio.h>
|
||||
//#include <stdio.h>
|
||||
//#include <d3d.h>
|
||||
|
||||
#include "common/struct.h"
|
||||
//#include "common/struct.h"
|
||||
//#include "old/d3dengine.h"
|
||||
#include "graphics/engine/engine.h"
|
||||
//#include "old/math3d.h"
|
||||
|
@ -28,14 +29,15 @@
|
|||
#include "common/iman.h"
|
||||
#include "common/restext.h"
|
||||
//#include "old/text.h"
|
||||
#include "graphics/engine/text.h"
|
||||
#include "ui/check.h"
|
||||
|
||||
|
||||
|
||||
namespace Ui {
|
||||
|
||||
// Object's constructor.
|
||||
|
||||
CCheck::CCheck(CInstanceManager* iMan) : CControl(iMan)
|
||||
CCheck::CCheck() : CControl()
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -103,7 +105,7 @@ void CCheck::Draw()
|
|||
if ( (m_state & STATE_VISIBLE) == 0 ) return;
|
||||
|
||||
iDim = m_dim;
|
||||
m_dim.x = m_dim.y*0.75f; // square
|
||||
m_dim.x = m_dim.y * 0.75f; // square
|
||||
|
||||
if ( m_state & STATE_SHADOW )
|
||||
{
|
||||
|
@ -159,10 +161,10 @@ void CCheck::Draw()
|
|||
if ( m_state & STATE_DEAD ) return;
|
||||
|
||||
// Draw the name.
|
||||
pos.x = m_pos.x+m_dim.y/0.9f;
|
||||
pos.y = m_pos.y+m_dim.y*0.50f;
|
||||
pos.x = m_pos.x + m_dim.y / 0.9f;
|
||||
pos.y = m_pos.y + m_dim.y * 0.50f;
|
||||
pos.y -= m_engine->GetText()->GetHeight(m_fontType, m_fontSize)/2.0f;
|
||||
m_engine->GetText()->DrawText(m_name, m_fontType, m_fontSize, pos, m_dim.x, m_textAlign, 0);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
// * This file is part of the COLOBOT source code
|
||||
// * Copyright (C) 2001-2008, Daniel ROUX & EPSITEC SA, www.epsitec.ch
|
||||
// * Copyright (C) 2012 Polish Portal of Colobot (PPC)
|
||||
// *
|
||||
// * 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
|
||||
|
@ -21,15 +22,15 @@
|
|||
|
||||
#include "ui/control.h"
|
||||
|
||||
namespace Gfx{
|
||||
class CEngine;
|
||||
}
|
||||
|
||||
class CD3DEngine;
|
||||
|
||||
|
||||
|
||||
namespace Ui {
|
||||
class CCheck : public CControl
|
||||
{
|
||||
public:
|
||||
CCheck(CInstanceManager* iMan);
|
||||
CCheck();
|
||||
virtual ~CCheck();
|
||||
|
||||
bool Create(Math::Point pos, Math::Point dim, int icon, EventType eventType);
|
||||
|
@ -43,4 +44,5 @@ protected:
|
|||
protected:
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
// * This file is part of the COLOBOT source code
|
||||
// * Copyright (C) 2001-2008, Daniel ROUX & EPSITEC SA, www.epsitec.ch
|
||||
// * Copyright (C) 2012, Polish Portal of Colobot (PPC)
|
||||
// *
|
||||
// * 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
|
||||
|
@ -16,7 +17,7 @@
|
|||
|
||||
|
||||
//#include <windows.h>
|
||||
#include <stdio.h>
|
||||
//#include <stdio.h>
|
||||
//#include <d3d.h>
|
||||
|
||||
//#include "common/struct.h"
|
||||
|
@ -32,7 +33,7 @@
|
|||
#include "ui/color.h"
|
||||
|
||||
|
||||
|
||||
namespace Ui {
|
||||
const float DELAY1 = 0.4f;
|
||||
const float DELAY2 = 0.1f;
|
||||
|
||||
|
@ -40,7 +41,8 @@ const float DELAY2 = 0.1f;
|
|||
|
||||
// Object's constructor.
|
||||
|
||||
CColor::CColor(CInstanceManager* iMan) : CControl(iMan)
|
||||
//CColor::CColor(CInstanceManager* iMan) : CControl(iMan)
|
||||
CColor::CColor() : CControl()
|
||||
{
|
||||
m_bRepeat = false;
|
||||
m_repeat = 0.0f;
|
||||
|
@ -160,42 +162,42 @@ void CColor::Draw()
|
|||
|
||||
device = m_engine->GetDevice();
|
||||
|
||||
p1.x = m_pos.x+(4.0f/640.0f);
|
||||
p1.y = m_pos.y+(4.0f/480.0f);
|
||||
p2.x = m_pos.x+m_dim.x-(4.0f/640.0f);
|
||||
p2.y = m_pos.y+m_dim.y-(4.0f/480.0f);
|
||||
vertex[0] = Gfx::Vertex(Math::Vector(p1.x, p1.y, 0.0f), 0x00000000,0x00000000, 0.0f,0.0f);
|
||||
vertex[1] = Gfx::Vertex(Math::Vector(p1.x, p2.y, 0.0f), 0x00000000,0x00000000, 0.0f,0.0f);
|
||||
vertex[2] = Gfx::Vertex(Math::Vector(p2.x, p1.y, 0.0f), 0x00000000,0x00000000, 0.0f,0.0f);
|
||||
vertex[3] = Gfx::Vertex(Math::Vector(p2.x, p2.y, 0.0f), 0x00000000,0x00000000, 0.0f,0.0f);
|
||||
p1.x = m_pos.x + (4.0f / 640.0f);
|
||||
p1.y = m_pos.y + (4.0f / 480.0f);
|
||||
p2.x = m_pos.x + m_dim.x - (4.0f / 640.0f);
|
||||
p2.y = m_pos.y + m_dim.y - (4.0f / 480.0f);
|
||||
vertex[0] = Gfx::Vertex(Math::Vector(p1.x, p1.y, 0.0f), 0x00000000,0x00000000, Math::Point( 0.0f, 0.0f));
|
||||
vertex[1] = Gfx::Vertex(Math::Vector(p1.x, p2.y, 0.0f), 0x00000000,0x00000000, Math::Point( 0.0f, 0.0f));
|
||||
vertex[2] = Gfx::Vertex(Math::Vector(p2.x, p1.y, 0.0f), 0x00000000,0x00000000, Math::Point( 0.0f, 0.0f));
|
||||
vertex[3] = Gfx::Vertex(Math::Vector(p2.x, p2.y, 0.0f), 0x00000000,0x00000000, Math::Point( 0.0f, 0.0f));
|
||||
device->DrawPrimitive(Gfx::PRIMITIVE_TRIANGLE_STRIP, vertex, 4);
|
||||
|
||||
p1.x = m_pos.x+(5.0f/640.0f);
|
||||
p1.y = m_pos.y+(5.0f/480.0f);
|
||||
p2.x = m_pos.x+m_dim.x-(5.0f/640.0f);
|
||||
p2.y = m_pos.y+m_dim.y-(5.0f/480.0f);
|
||||
vertex[0] = Gfx::Vertex(Math::Vector(p1.x, p1.y, 0.0f), color,0x00000000, 0.0f,0.0f);
|
||||
vertex[1] = Gfx::Vertex(Math::Vector(p1.x, p2.y, 0.0f), color,0x00000000, 0.0f,0.0f);
|
||||
vertex[2] = Gfx::Vertex(Math::Vector(p2.x, p1.y, 0.0f), color,0x00000000, 0.0f,0.0f);
|
||||
vertex[3] = Gfx::Vertex(Math::Vector(p2.x, p2.y, 0.0f), color,0x00000000, 0.0f,0.0f);
|
||||
p1.x = m_pos.x + (5.0f / 640.0f);
|
||||
p1.y = m_pos.y + (5.0f / 480.0f);
|
||||
p2.x = m_pos.x + m_dim.x - (5.0f / 640.0f);
|
||||
p2.y = m_pos.y + m_dim.y - (5.0f / 480.0f);
|
||||
vertex[0] = Gfx::Vertex(Math::Vector(p1.x, p1.y, 0.0f), color,0x00000000, Math::Point( 0.0f, 0.0f));
|
||||
vertex[1] = Gfx::Vertex(Math::Vector(p1.x, p2.y, 0.0f), color,0x00000000, Math::Point( 0.0f, 0.0f));
|
||||
vertex[2] = Gfx::Vertex(Math::Vector(p2.x, p1.y, 0.0f), color,0x00000000, Math::Point( 0.0f, 0.0f));
|
||||
vertex[3] = Gfx::Vertex(Math::Vector(p2.x, p2.y, 0.0f), color,0x00000000, Math::Point( 0.0f, 0.0f));
|
||||
device->DrawPrimitive(Gfx::PRIMITIVE_TRIANGLE_STRIP, vertex, 4);
|
||||
|
||||
m_engine->AddStatisticTriangle(4);
|
||||
#else
|
||||
p1.x = m_pos.x+(3.0f/640.0f);
|
||||
p1.y = m_pos.y+(3.0f/480.0f);
|
||||
p2.x = m_pos.x+m_dim.x-(3.0f/640.0f);
|
||||
p2.y = m_pos.y+m_dim.y-(3.0f/480.0f);
|
||||
p1.x = m_pos.x + (3.0f / 640.0f);
|
||||
p1.y = m_pos.y + (3.0f / 480.0f);
|
||||
p2.x = m_pos.x + m_dim.x - (3.0f / 640.0f);
|
||||
p2.y = m_pos.y + m_dim.y - (3.0f / 480.0f);
|
||||
|
||||
color = GetColor();
|
||||
|
||||
m_engine->SetTexture("xxx.tga"); // no texture
|
||||
m_engine->SetState(Gfx::ENG_RSTATE_NORMAL);
|
||||
|
||||
vertex[0] = Gfx::VertexCol(Math::Vector(p1.x, p1.y, 0.0f), color,0x00000000, Math::Point( 0.0f,0.0f));
|
||||
vertex[1] = Gfx::VertexCol(Math::Vector(p1.x, p2.y, 0.0f), color,0x00000000, Math::Point(0.0f,0.0f));
|
||||
vertex[2] = Gfx::VertexCol(Math::Vector(p2.x, p1.y, 0.0f), color,0x00000000, Math::Point(0.0f,0.0f));
|
||||
vertex[3] = Gfx::VertexCol(Math::Vector(p2.x, p2.y, 0.0f), color,0x00000000, Math::Point(0.0f,0.0f));
|
||||
vertex[0] = Gfx::VertexCol(Math::Vector(p1.x, p1.y, 0.0f), color,0x00000000, Math::Point(0.0f, 0.0f));
|
||||
vertex[1] = Gfx::VertexCol(Math::Vector(p1.x, p2.y, 0.0f), color,0x00000000, Math::Point(0.0f, 0.0f));
|
||||
vertex[2] = Gfx::VertexCol(Math::Vector(p2.x, p1.y, 0.0f), color,0x00000000, Math::Point(0.0f, 0.0f));
|
||||
vertex[3] = Gfx::VertexCol(Math::Vector(p2.x, p2.y, 0.0f), color,0x00000000, Math::Point(0.0f, 0.0f));
|
||||
|
||||
device = m_engine->GetDevice();
|
||||
device->DrawPrimitive(Gfx::PRIMITIVE_TRIANGLE_STRIP, vertex, 4);
|
||||
|
@ -226,3 +228,4 @@ Gfx::Color CColor::GetColor()
|
|||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
// * This file is part of the COLOBOT source code
|
||||
// * Copyright (C) 2001-2008, Daniel ROUX & EPSITEC SA, www.epsitec.ch
|
||||
// * Copyright (C) 2012, Polish Portal of Colobot (PPC)
|
||||
// *
|
||||
// * 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
|
||||
|
@ -22,27 +23,29 @@
|
|||
#include "ui/control.h"
|
||||
//#include "graphics/engine/engine.h"
|
||||
|
||||
namespace Gfx{
|
||||
class CEngine;
|
||||
struct Color;
|
||||
}
|
||||
|
||||
//class CEngine;
|
||||
|
||||
|
||||
|
||||
namespace Ui {
|
||||
class CColor : public CControl
|
||||
{
|
||||
public:
|
||||
CColor(CInstanceManager* iMan);
|
||||
virtual ~CColor();
|
||||
// CColor(CInstanceManager* iMan);
|
||||
CColor();
|
||||
virtual ~CColor();
|
||||
|
||||
bool Create(Math::Point pos, Math::Point dim, int icon, EventType eventType);
|
||||
bool Create(Math::Point pos, Math::Point dim, int icon, EventType eventType);
|
||||
|
||||
bool EventProcess(const Event &event);
|
||||
bool EventProcess(const Event &event);
|
||||
|
||||
void Draw();
|
||||
void Draw();
|
||||
|
||||
void SetRepeat(bool bRepeat);
|
||||
bool GetRepeat();
|
||||
void SetRepeat(bool bRepeat);
|
||||
bool GetRepeat();
|
||||
|
||||
void SetColor(Gfx::Color color);
|
||||
void SetColor(Gfx::Color color);
|
||||
Gfx::Color GetColor();
|
||||
|
||||
protected:
|
||||
|
@ -54,3 +57,4 @@ protected:
|
|||
};
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
// * This file is part of the COLOBOT source code
|
||||
// * Copyright (C) 2001-2008, Daniel ROUX & EPSITEC SA, www.epsitec.ch
|
||||
// * Copyright (C) 2012, Polish Portal of Colobot (PPC)
|
||||
// *
|
||||
// * 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
|
||||
|
@ -16,7 +17,7 @@
|
|||
|
||||
|
||||
//#include <windows.h>
|
||||
#include <stdio.h>
|
||||
//#include <stdio.h>
|
||||
//#include <d3d.h>
|
||||
|
||||
//#include "common/struct.h"
|
||||
|
@ -32,10 +33,11 @@
|
|||
|
||||
|
||||
|
||||
|
||||
namespace Ui {
|
||||
// Object's constructor.
|
||||
|
||||
CCompass::CCompass(CInstanceManager* iMan) : CControl(iMan)
|
||||
//CCompass::CCompass(CInstanceManager* iMan) : CControl(iMan)
|
||||
CCompass::CCompass() : CControl()
|
||||
{
|
||||
m_dir = 0.0f;
|
||||
}
|
||||
|
@ -102,15 +104,15 @@ void CCompass::Draw()
|
|||
p2.x = m_pos.x + m_dim.x;
|
||||
p2.y = m_pos.y + m_dim.y;
|
||||
|
||||
c.x = (p1.x+p2.x)/2.0f;
|
||||
c.y = (p1.y+p2.y)/2.0f; // center
|
||||
c.x = (p1.x + p2.x) / 2.0f;
|
||||
c.y = (p1.y + p2.y) / 2.0f; // center
|
||||
|
||||
uv1.x = 64.0f/256.0f;
|
||||
uv1.y = 32.0f/256.0f;
|
||||
uv2.x = 96.0f/256.0f;
|
||||
uv2.y = 64.0f/256.0f;
|
||||
uv1.x = 64.0f / 256.0f;
|
||||
uv1.y = 32.0f / 256.0f;
|
||||
uv2.x = 96.0f / 256.0f;
|
||||
uv2.y = 64.0f / 256.0f;
|
||||
|
||||
dp = 0.5f/256.0f;
|
||||
dp = 0.5f / 256.0f;
|
||||
uv1.x += dp;
|
||||
uv1.y += dp;
|
||||
uv2.x -= dp;
|
||||
|
@ -118,10 +120,10 @@ void CCompass::Draw()
|
|||
|
||||
n = Math::Vector(0.0f, 0.0f, -1.0f); // normal
|
||||
|
||||
vertex[0] = Gfx::Vertex(Math::Vector(p1.x, p1.y, 0.0f), n, Math::Point( uv1.x,uv2.y));
|
||||
vertex[1] = Gfx::Vertex(Math::Vector(p1.x, p2.y, 0.0f), n, Math::Point( uv1.x,uv1.y));
|
||||
vertex[2] = Gfx::Vertex(Math::Vector(p2.x, p1.y, 0.0f), n, Math::Point( uv2.x,uv2.y));
|
||||
vertex[3] = Gfx::Vertex(Math::Vector(p2.x, p2.y, 0.0f), n, Math::Point( uv2.x,uv1.y));
|
||||
vertex[0] = Gfx::Vertex(Math::Vector(p1.x, p1.y, 0.0f), n, Math::Point(uv1.x, uv2.y));
|
||||
vertex[1] = Gfx::Vertex(Math::Vector(p1.x, p2.y, 0.0f), n, Math::Point(uv1.x, uv1.y));
|
||||
vertex[2] = Gfx::Vertex(Math::Vector(p2.x, p1.y, 0.0f), n, Math::Point(uv2.x, uv2.y));
|
||||
vertex[3] = Gfx::Vertex(Math::Vector(p2.x, p2.y, 0.0f), n, Math::Point(uv2.x, uv1.y));
|
||||
|
||||
device->DrawPrimitive(Gfx::PRIMITIVE_TRIANGLE_STRIP, vertex, 4);
|
||||
m_engine->AddStatisticTriangle(2);
|
||||
|
@ -129,33 +131,33 @@ void CCompass::Draw()
|
|||
if ( m_state & STATE_ENABLE )
|
||||
{
|
||||
p1.x = c.x;
|
||||
p1.y = c.y+m_dim.x*0.40f;
|
||||
p1.y = c.y + m_dim.x * 0.40f;
|
||||
p1 = Math::RotatePoint(c, m_dir, p1);
|
||||
p1.x = c.x+(p1.x-c.x)*(m_dim.x/m_dim.y);
|
||||
p1.x = c.x + (p1.x - c.x) * (m_dim.x / m_dim.y);
|
||||
|
||||
p2.x = c.x+m_dim.x*0.20f;
|
||||
p2.y = c.y-m_dim.x*0.40f;
|
||||
p2.x = c.x + m_dim.x * 0.20f;
|
||||
p2.y = c.y - m_dim.x * 0.40f;
|
||||
p2 = Math::RotatePoint(c, m_dir, p2);
|
||||
p2.x = c.x+(p2.x-c.x)*(m_dim.x/m_dim.y);
|
||||
p2.x = c.x + (p2.x - c.x) * (m_dim.x / m_dim.y);
|
||||
|
||||
p3.x = c.x-m_dim.x*0.20f;
|
||||
p3.y = c.y-m_dim.x*0.40f;
|
||||
p3.x = c.x - m_dim.x * 0.20f;
|
||||
p3.y = c.y - m_dim.x * 0.40f;
|
||||
p3 = Math::RotatePoint(c, m_dir, p3);
|
||||
p3.x = c.x+(p3.x-c.x)*(m_dim.x/m_dim.y);
|
||||
p3.x = c.x + (p3.x - c.x) * (m_dim.x / m_dim.y);
|
||||
|
||||
uv1.x = 96.0f/256.0f;
|
||||
uv1.y = 32.0f/256.0f;
|
||||
uv2.x = 104.0f/256.0f;
|
||||
uv2.y = 64.0f/256.0f;
|
||||
uv1.x = 96.0f / 256.0f;
|
||||
uv1.y = 32.0f / 256.0f;
|
||||
uv2.x = 104.0f / 256.0f;
|
||||
uv2.y = 64.0f / 256.0f;
|
||||
|
||||
uv1.x += dp;
|
||||
uv1.y += dp;
|
||||
uv2.x -= dp;
|
||||
uv2.y -= dp;
|
||||
|
||||
vertex[0] = Gfx::Vertex(Math::Vector(p1.x, p1.y, 0.0f), n, Math::Point( uv1.x,uv1.y));
|
||||
vertex[1] = Gfx::Vertex(Math::Vector(p2.x, p2.y, 0.0f), n, Math::Point( uv1.x,uv2.y));
|
||||
vertex[2] = Gfx::Vertex(Math::Vector(p3.x, p3.y, 0.0f), n, Math::Point( uv2.x,uv2.y));
|
||||
vertex[0] = Gfx::Vertex(Math::Vector(p1.x, p1.y, 0.0f), n, Math::Point(uv1.x, uv1.y));
|
||||
vertex[1] = Gfx::Vertex(Math::Vector(p2.x, p2.y, 0.0f), n, Math::Point(uv1.x, uv2.y));
|
||||
vertex[2] = Gfx::Vertex(Math::Vector(p3.x, p3.y, 0.0f), n, Math::Point(uv2.x, uv2.y));
|
||||
|
||||
device->DrawPrimitive(Gfx::PRIMITIVE_TRIANGLES, vertex, 3);
|
||||
m_engine->AddStatisticTriangle(1);
|
||||
|
@ -170,9 +172,10 @@ void CCompass::SetDirection(float dir)
|
|||
m_dir = dir;
|
||||
}
|
||||
|
||||
float CCompass::RetDirection()
|
||||
float CCompass::GetDirection()
|
||||
{
|
||||
return m_dir;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
// * This file is part of the COLOBOT source code
|
||||
// * Copyright (C) 2001-2008, Daniel ROUX & EPSITEC SA, www.epsitec.ch
|
||||
// * Copyright (C) 2012, Polish Portal of Colobot (PPC)
|
||||
// *
|
||||
// * 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
|
||||
|
@ -21,15 +22,16 @@
|
|||
|
||||
#include "ui/control.h"
|
||||
|
||||
namespace Gfx {
|
||||
class CEngine;
|
||||
}
|
||||
|
||||
//class CEngine;
|
||||
|
||||
|
||||
|
||||
namespace Ui {
|
||||
class CCompass : public CControl
|
||||
{
|
||||
public:
|
||||
CCompass(CInstanceManager* iMan);
|
||||
// CCompass(CInstanceManager* iMan);
|
||||
CCompass();
|
||||
virtual ~CCompass();
|
||||
|
||||
bool Create(Math::Point pos, Math::Point dim, int icon, EventType eventType);
|
||||
|
@ -39,7 +41,7 @@ public:
|
|||
void Draw();
|
||||
|
||||
void SetDirection(float dir);
|
||||
float RetDirection();
|
||||
float GetDirection();
|
||||
|
||||
protected:
|
||||
|
||||
|
@ -48,3 +50,4 @@ protected:
|
|||
};
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
//#include <d3d.h>
|
||||
|
||||
#include "graphics/core/device.h"
|
||||
#include "common/struct.h"
|
||||
//#include "common/struct.h"
|
||||
//#include "old/d3dengine.h"
|
||||
#include "graphics/engine/engine.h"
|
||||
#include "common/language.h"
|
||||
|
@ -36,22 +36,23 @@
|
|||
//#include "old/text.h"
|
||||
#include "graphics/engine/text.h"
|
||||
//#include "old/sound.h"
|
||||
#include "sound/sound.h"
|
||||
#include "ui/control.h"
|
||||
|
||||
|
||||
|
||||
|
||||
namespace Ui {
|
||||
// Object's constructor.
|
||||
|
||||
CControl::CControl(CInstanceManager* iMan)
|
||||
CControl::CControl()
|
||||
{
|
||||
m_iMan = iMan;
|
||||
m_iMan = CInstanceManager::GetInstancePointer();
|
||||
|
||||
m_engine = static_cast< Gfx::CEngine* > ( m_iMan->SearchInstance(CLASS_ENGINE) );
|
||||
m_event = static_cast< CEventQueue* > ( m_iMan->SearchInstance(CLASS_EVENT) );
|
||||
m_main = static_cast< CRobotMain* > ( m_iMan->SearchInstance(CLASS_MAIN) );
|
||||
m_particle = static_cast< Gfx::CParticle* > (m_iMan->SearchInstance(CLASS_PARTICULE));
|
||||
m_sound = static_cast< CSound* > (m_iMan->SearchInstance(CLASS_SOUND));
|
||||
m_sound = static_cast< CSoundInterface* > (m_iMan->SearchInstance(CLASS_SOUND));
|
||||
m_eventType = EVENT_NULL;
|
||||
m_state = STATE_ENABLE|STATE_VISIBLE|STATE_GLINT;
|
||||
m_fontSize = Gfx::FONT_SIZE_SMALL;
|
||||
|
@ -94,7 +95,7 @@ bool CControl::Create(Math::Point pos, Math::Point dim, int icon, EventType even
|
|||
m_eventType = eventType;
|
||||
|
||||
pos.x = m_pos.x;
|
||||
pos.y = m_pos.y+m_dim.y;
|
||||
pos.y = m_pos.y + m_dim.y;
|
||||
GlintCreate(pos);
|
||||
|
||||
GetResource(RES_EVENT, m_eventType, text);
|
||||
|
@ -120,7 +121,7 @@ void CControl::SetPos(Math::Point pos)
|
|||
m_pos = pos;
|
||||
|
||||
pos.x = m_pos.x;
|
||||
pos.y = m_pos.y+m_dim.y;
|
||||
pos.y = m_pos.y + m_dim.y;
|
||||
GlintCreate(pos);
|
||||
}
|
||||
|
||||
|
@ -136,7 +137,7 @@ void CControl::SetDim(Math::Point dim)
|
|||
m_dim = dim;
|
||||
|
||||
pos.x = m_pos.x;
|
||||
pos.y = m_pos.y+m_dim.y;
|
||||
pos.y = m_pos.y + m_dim.y;
|
||||
GlintCreate(pos);
|
||||
}
|
||||
|
||||
|
@ -411,8 +412,8 @@ void CControl::GlintCreate(Math::Point ref, bool bLeft, bool bUp)
|
|||
{
|
||||
float offset;
|
||||
|
||||
offset = 8.0f/640.0f;
|
||||
if ( offset > m_dim.x/4.0f) offset = m_dim.x/4.0f;
|
||||
offset = 8.0f / 640.0f;
|
||||
if ( offset > m_dim.x / 4.0f) offset = m_dim.x / 4.0f;
|
||||
|
||||
if ( bLeft )
|
||||
{
|
||||
|
@ -426,17 +427,17 @@ void CControl::GlintCreate(Math::Point ref, bool bLeft, bool bUp)
|
|||
}
|
||||
|
||||
offset = 8.0f/480.0f;
|
||||
if ( offset > m_dim.y/4.0f) offset = m_dim.y/4.0f;
|
||||
if ( offset > m_dim.y / 4.0f) offset = m_dim.y / 4.0f;
|
||||
|
||||
if ( bUp )
|
||||
{
|
||||
m_glintCorner1.y = ref.y-offset;
|
||||
m_glintCorner1.y = ref.y - offset;
|
||||
m_glintCorner2.y = ref.y;
|
||||
}
|
||||
else
|
||||
{
|
||||
m_glintCorner1.y = ref.y;
|
||||
m_glintCorner2.y = ref.y+offset;
|
||||
m_glintCorner2.y = ref.y + offset;
|
||||
}
|
||||
|
||||
m_bGlint = true;
|
||||
|
@ -459,12 +460,12 @@ void CControl::GlintFrame(const Event &event)
|
|||
|
||||
if ( m_glintProgress >= 2.0f && Detect(m_glintMouse) )
|
||||
{
|
||||
pos.x = m_glintCorner1.x + (m_glintCorner2.x-m_glintCorner1.x)*Math::Rand();
|
||||
pos.y = m_glintCorner1.y + (m_glintCorner2.y-m_glintCorner1.y)*Math::Rand();
|
||||
pos.x = m_glintCorner1.x + (m_glintCorner2.x - m_glintCorner1.x) * Math::Rand();
|
||||
pos.y = m_glintCorner1.y + (m_glintCorner2.y - m_glintCorner1.y) * Math::Rand();
|
||||
pos.z = 0.0f;
|
||||
speed = Math::Vector(0.0f, 0.0f, 0.0f);
|
||||
dim.x = ((15.0f+Math::Rand()*15.0f)/640.0f);
|
||||
dim.y = dim.x/0.75f;
|
||||
dim.x = ((15.0f + Math::Rand() * 15.0f) / 640.0f);
|
||||
dim.y = dim.x / 0.75f;
|
||||
m_particle->CreateParticle(pos, speed, dim, Gfx::PARTICONTROL,
|
||||
1.0f, 0.0f, 0.0f, Gfx::SH_INTERFACE );
|
||||
|
||||
|
@ -544,7 +545,7 @@ void CControl::Draw()
|
|||
if ( m_name[0] == 0 ) // button without name?
|
||||
{
|
||||
//? DrawPart(icon, zoomExt, 0.0f);
|
||||
DrawPart(icon, zoomExt, 8.0f/256.0f);
|
||||
DrawPart(icon, zoomExt, 8.0f / 256.0f);
|
||||
|
||||
if ( m_state & STATE_DEAD ) return;
|
||||
|
||||
|
@ -589,23 +590,23 @@ void CControl::Draw()
|
|||
// if ( m_justif < 0 )
|
||||
if ( m_textAlign == Gfx::TEXT_ALIGN_LEFT )
|
||||
{
|
||||
pos.x = m_pos.x+m_dim.x-m_dim.y*0.5f;
|
||||
pos.y = m_pos.y+m_dim.y*0.5f;
|
||||
pos.x = m_pos.x + m_dim.x - m_dim.y * 0.5f;
|
||||
pos.y = m_pos.y + m_dim.y * 0.5f;
|
||||
pos.y -= m_engine->GetText()->GetHeight(m_fontType, m_fontSize)/2.0f;
|
||||
m_engine->GetText()->DrawText(m_name, m_fontType, m_fontSize, pos, m_dim.x, m_textAlign, 0);
|
||||
}
|
||||
else if ( m_textAlign == Gfx::TEXT_ALIGN_RIGHT )
|
||||
// else if ( m_justif > 0 )
|
||||
{
|
||||
pos.x = m_pos.x+m_dim.y*0.5f;
|
||||
pos.y = m_pos.y+m_dim.y*0.5f;
|
||||
pos.x = m_pos.x + m_dim.y * 0.5f;
|
||||
pos.y = m_pos.y + m_dim.y * 0.5f;
|
||||
pos.y -= m_engine->GetText()->GetHeight(m_fontType, m_fontSize)/2.0f;
|
||||
m_engine->GetText()->DrawText(m_name, m_fontType, m_fontSize, pos, m_dim.x, m_textAlign, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
pos.x = m_pos.x+m_dim.x*0.5f;
|
||||
pos.y = m_pos.y+m_dim.y*0.5f;
|
||||
pos.x = m_pos.x + m_dim.x * 0.5f;
|
||||
pos.y = m_pos.y + m_dim.y * 0.5f;
|
||||
pos.y -= m_engine->GetText()->GetHeight( m_fontType, m_fontSize)/2.0f;
|
||||
m_engine->GetText()->DrawText(m_name, m_fontType, m_fontSize, pos, m_dim.x, m_textAlign, 0);
|
||||
}
|
||||
|
@ -627,26 +628,26 @@ void CControl::DrawPart(int icon, float zoom, float ex)
|
|||
if ( (m_state & STATE_CARD ) &&
|
||||
(m_state & STATE_CHECK) )
|
||||
{
|
||||
p2.y += (2.0f/480.0f); // a bit above
|
||||
p2.y += (2.0f / 480.0f); // a bit above
|
||||
}
|
||||
|
||||
c.x = (p1.x+p2.x)/2.0f;
|
||||
c.y = (p1.y+p2.y)/2.0f; // center
|
||||
c.x = (p1.x + p2.x)/2.0f;
|
||||
c.y = (p1.y + p2.y)/2.0f; // center
|
||||
|
||||
p1.x = (p1.x-c.x)*zoom + c.x;
|
||||
p1.y = (p1.y-c.y)*zoom + c.y;
|
||||
p2.x = (p2.x-c.x)*zoom + c.x;
|
||||
p2.y = (p2.y-c.y)*zoom + c.y;
|
||||
p1.x = (p1.x - c.x) * zoom + c.x;
|
||||
p1.y = (p1.y - c.y) * zoom + c.y;
|
||||
p2.x = (p2.x - c.x) * zoom + c.x;
|
||||
p2.y = (p2.y - c.y) * zoom + c.y;
|
||||
|
||||
p2.x -= p1.x;
|
||||
p2.y -= p1.y;
|
||||
|
||||
uv1.x = (32.0f/256.0f)*(icon%8);
|
||||
uv1.y = (32.0f/256.0f)*(icon/8); // uv texture
|
||||
uv2.x = (32.0f/256.0f)+uv1.x;
|
||||
uv2.y = (32.0f/256.0f)+uv1.y;
|
||||
uv1.x = (32.0f / 256.0f) * (icon%8);
|
||||
uv1.y = (32.0f / 256.0f) * (icon/8); // uv texture
|
||||
uv2.x = (32.0f / 256.0f) + uv1.x;
|
||||
uv2.y = (32.0f / 256.0f) + uv1.y;
|
||||
|
||||
dp = 0.5f/256.0f;
|
||||
dp = 0.5f / 256.0f;
|
||||
uv1.x += dp;
|
||||
uv1.y += dp;
|
||||
uv2.x -= dp;
|
||||
|
@ -689,8 +690,8 @@ void CControl::DrawIcon(Math::Point pos, Math::Point dim, Math::Point uv1, Math:
|
|||
{
|
||||
if ( dim.x >= dim.y )
|
||||
{
|
||||
p3.x = p1.x + ex*dim.y/(uv2.y-uv1.y);
|
||||
p4.x = p2.x - ex*dim.y/(uv2.y-uv1.y);
|
||||
p3.x = p1.x + ex*dim.y / (uv2.y - uv1.y);
|
||||
p4.x = p2.x - ex*dim.y / (uv2.y - uv1.y);
|
||||
|
||||
vertex[0] = Gfx::Vertex(Math::Vector(p1.x, p1.y, 0.0f), n, Math::Point(uv1.x, uv2.y));
|
||||
vertex[1] = Gfx::Vertex(Math::Vector(p1.x, p2.y, 0.0f), n, Math::Point(uv1.x, uv1.y));
|
||||
|
@ -706,17 +707,17 @@ void CControl::DrawIcon(Math::Point pos, Math::Point dim, Math::Point uv1, Math:
|
|||
}
|
||||
else
|
||||
{
|
||||
p3.y = p1.y + ex*dim.x/(uv2.x-uv1.x);
|
||||
p4.y = p2.y - ex*dim.x/(uv2.x-uv1.x);
|
||||
p3.y = p1.y + ex*dim.x / (uv2.x - uv1.x);
|
||||
p4.y = p2.y - ex*dim.x / (uv2.x - uv1.x);
|
||||
|
||||
vertex[0] = Gfx::Vertex(Math::Vector(p2.x, p1.y, 0.0f), n, Math::Point(uv2.x,uv2.y ));
|
||||
vertex[1] = Gfx::Vertex(Math::Vector(p1.x, p1.y, 0.0f), n, Math::Point(uv1.x,uv2.y ));
|
||||
vertex[2] = Gfx::Vertex(Math::Vector(p2.x, p3.y, 0.0f), n, Math::Point(uv2.x,uv2.y-ex));
|
||||
vertex[3] = Gfx::Vertex(Math::Vector(p1.x, p3.y, 0.0f), n, Math::Point(uv1.x,uv2.y-ex));
|
||||
vertex[4] = Gfx::Vertex(Math::Vector(p2.x, p4.y, 0.0f), n, Math::Point(uv2.x,uv1.y+ex));
|
||||
vertex[5] = Gfx::Vertex(Math::Vector(p1.x, p4.y, 0.0f), n, Math::Point(uv1.x,uv1.y+ex));
|
||||
vertex[6] = Gfx::Vertex(Math::Vector(p2.x, p2.y, 0.0f), n, Math::Point(uv2.x,uv1.y ));
|
||||
vertex[7] = Gfx::Vertex(Math::Vector(p1.x, p2.y, 0.0f), n, Math::Point(uv1.x,uv1.y ));
|
||||
vertex[0] = Gfx::Vertex(Math::Vector(p2.x, p1.y, 0.0f), n, Math::Point(uv2.x, uv2.y ));
|
||||
vertex[1] = Gfx::Vertex(Math::Vector(p1.x, p1.y, 0.0f), n, Math::Point(uv1.x, uv2.y ));
|
||||
vertex[2] = Gfx::Vertex(Math::Vector(p2.x, p3.y, 0.0f), n, Math::Point(uv2.x, uv2.y - ex));
|
||||
vertex[3] = Gfx::Vertex(Math::Vector(p1.x, p3.y, 0.0f), n, Math::Point(uv1.x, uv2.y - ex));
|
||||
vertex[4] = Gfx::Vertex(Math::Vector(p2.x, p4.y, 0.0f), n, Math::Point(uv2.x, uv1.y + ex));
|
||||
vertex[5] = Gfx::Vertex(Math::Vector(p1.x, p4.y, 0.0f), n, Math::Point(uv1.x, uv1.y + ex));
|
||||
vertex[6] = Gfx::Vertex(Math::Vector(p2.x, p2.y, 0.0f), n, Math::Point(uv2.x, uv1.y ));
|
||||
vertex[7] = Gfx::Vertex(Math::Vector(p1.x, p2.y, 0.0f), n, Math::Point(uv1.x, uv1.y ));
|
||||
|
||||
device->DrawPrimitive(Gfx::PRIMITIVE_TRIANGLE_STRIP, vertex, 8);
|
||||
m_engine->AddStatisticTriangle(6);
|
||||
|
@ -743,8 +744,8 @@ void CControl::DrawIcon(Math::Point pos, Math::Point dim, Math::Point uv1, Math:
|
|||
|
||||
n = Math::Vector(0.0f, 0.0f, -1.0f); // normal
|
||||
|
||||
if ( corner.x > dim.x/2.0f ) corner.x = dim.x/2.0f;
|
||||
if ( corner.y > dim.y/2.0f ) corner.y = dim.y/2.0f;
|
||||
if ( corner.x > dim.x / 2.0f ) corner.x = dim.x / 2.0f;
|
||||
if ( corner.y > dim.y / 2.0f ) corner.y = dim.y / 2.0f;
|
||||
|
||||
p1.x = pos.x;
|
||||
p1.y = pos.y;
|
||||
|
@ -756,38 +757,38 @@ void CControl::DrawIcon(Math::Point pos, Math::Point dim, Math::Point uv1, Math:
|
|||
p4.y = p2.y - corner.y;
|
||||
|
||||
// Bottom horizontal band.
|
||||
vertex[0] = Gfx::Vertex(Math::Vector(p1.x, p1.y, 0.0f), n, Math::Point(uv1.x, uv2.y ));
|
||||
vertex[1] = Gfx::Vertex(Math::Vector(p1.x, p3.y, 0.0f), n, Math::Point(uv1.x, uv2.y-ex));
|
||||
vertex[2] = Gfx::Vertex(Math::Vector(p3.x, p1.y, 0.0f), n, Math::Point(uv1.x+ex,uv2.y ));
|
||||
vertex[3] = Gfx::Vertex(Math::Vector(p3.x, p3.y, 0.0f), n, Math::Point(uv1.x+ex,uv2.y-ex));
|
||||
vertex[4] = Gfx::Vertex(Math::Vector(p4.x, p1.y, 0.0f), n, Math::Point(uv2.x-ex,uv2.y ));
|
||||
vertex[5] = Gfx::Vertex(Math::Vector(p4.x, p3.y, 0.0f), n, Math::Point(uv2.x-ex,uv2.y-ex));
|
||||
vertex[6] = Gfx::Vertex(Math::Vector(p2.x, p1.y, 0.0f), n, Math::Point(uv2.x, uv2.y ));
|
||||
vertex[7] = Gfx::Vertex(Math::Vector(p2.x, p3.y, 0.0f), n, Math::Point(uv2.x, uv2.y-ex));
|
||||
vertex[0] = Gfx::Vertex(Math::Vector(p1.x, p1.y, 0.0f), n, Math::Point(uv1.x, uv2.y ));
|
||||
vertex[1] = Gfx::Vertex(Math::Vector(p1.x, p3.y, 0.0f), n, Math::Point(uv1.x, uv2.y - ex));
|
||||
vertex[2] = Gfx::Vertex(Math::Vector(p3.x, p1.y, 0.0f), n, Math::Point(uv1.x + ex, uv2.y ));
|
||||
vertex[3] = Gfx::Vertex(Math::Vector(p3.x, p3.y, 0.0f), n, Math::Point(uv1.x + ex, uv2.y - ex));
|
||||
vertex[4] = Gfx::Vertex(Math::Vector(p4.x, p1.y, 0.0f), n, Math::Point(uv2.x - ex, uv2.y ));
|
||||
vertex[5] = Gfx::Vertex(Math::Vector(p4.x, p3.y, 0.0f), n, Math::Point(uv2.x - ex, uv2.y - ex));
|
||||
vertex[6] = Gfx::Vertex(Math::Vector(p2.x, p1.y, 0.0f), n, Math::Point(uv2.x, uv2.y ));
|
||||
vertex[7] = Gfx::Vertex(Math::Vector(p2.x, p3.y, 0.0f), n, Math::Point(uv2.x, uv2.y - ex));
|
||||
device->DrawPrimitive(Gfx::PRIMITIVE_TRIANGLE_STRIP, vertex, 8);
|
||||
m_engine->AddStatisticTriangle(6);
|
||||
|
||||
// Central horizontal band.
|
||||
vertex[0] = Gfx::Vertex(Math::Vector(p1.x, p3.y, 0.0f), n, Math::Point(uv1.x, uv2.y-ex));
|
||||
vertex[1] = Gfx::Vertex(Math::Vector(p1.x, p4.y, 0.0f), n, Math::Point(uv1.x, uv1.y+ex));
|
||||
vertex[2] = Gfx::Vertex(Math::Vector(p3.x, p3.y, 0.0f), n, Math::Point(uv1.x+ex,uv2.y-ex));
|
||||
vertex[3] = Gfx::Vertex(Math::Vector(p3.x, p4.y, 0.0f), n, Math::Point(uv1.x+ex,uv1.y+ex));
|
||||
vertex[4] = Gfx::Vertex(Math::Vector(p4.x, p3.y, 0.0f), n, Math::Point(uv2.x-ex,uv2.y-ex));
|
||||
vertex[5] = Gfx::Vertex(Math::Vector(p4.x, p4.y, 0.0f), n, Math::Point(uv2.x-ex,uv1.y+ex));
|
||||
vertex[6] = Gfx::Vertex(Math::Vector(p2.x, p3.y, 0.0f), n, Math::Point(uv2.x, uv2.y-ex));
|
||||
vertex[7] = Gfx::Vertex(Math::Vector(p2.x, p4.y, 0.0f), n, Math::Point(uv2.x, uv1.y+ex));
|
||||
vertex[0] = Gfx::Vertex(Math::Vector(p1.x, p3.y, 0.0f), n, Math::Point(uv1.x, uv2.y - ex));
|
||||
vertex[1] = Gfx::Vertex(Math::Vector(p1.x, p4.y, 0.0f), n, Math::Point(uv1.x, uv1.y + ex));
|
||||
vertex[2] = Gfx::Vertex(Math::Vector(p3.x, p3.y, 0.0f), n, Math::Point(uv1.x + ex, uv2.y - ex));
|
||||
vertex[3] = Gfx::Vertex(Math::Vector(p3.x, p4.y, 0.0f), n, Math::Point(uv1.x + ex, uv1.y + ex));
|
||||
vertex[4] = Gfx::Vertex(Math::Vector(p4.x, p3.y, 0.0f), n, Math::Point(uv2.x - ex, uv2.y - ex));
|
||||
vertex[5] = Gfx::Vertex(Math::Vector(p4.x, p4.y, 0.0f), n, Math::Point(uv2.x - ex, uv1.y + ex));
|
||||
vertex[6] = Gfx::Vertex(Math::Vector(p2.x, p3.y, 0.0f), n, Math::Point(uv2.x, uv2.y - ex));
|
||||
vertex[7] = Gfx::Vertex(Math::Vector(p2.x, p4.y, 0.0f), n, Math::Point(uv2.x, uv1.y + ex));
|
||||
device->DrawPrimitive(Gfx::PRIMITIVE_TRIANGLE_STRIP, vertex, 8);
|
||||
m_engine->AddStatisticTriangle(6);
|
||||
|
||||
// Top horizontal band.
|
||||
vertex[0] = Gfx::Vertex(Math::Vector(p1.x, p4.y, 0.0f), n, Math::Point(uv1.x, uv1.y+ex));
|
||||
vertex[1] = Gfx::Vertex(Math::Vector(p1.x, p2.y, 0.0f), n, Math::Point(uv1.x, uv1.y ));
|
||||
vertex[2] = Gfx::Vertex(Math::Vector(p3.x, p4.y, 0.0f), n, Math::Point(uv1.x+ex,uv1.y+ex));
|
||||
vertex[3] = Gfx::Vertex(Math::Vector(p3.x, p2.y, 0.0f), n, Math::Point(uv1.x+ex,uv1.y ));
|
||||
vertex[4] = Gfx::Vertex(Math::Vector(p4.x, p4.y, 0.0f), n, Math::Point(uv2.x-ex,uv1.y+ex));
|
||||
vertex[5] = Gfx::Vertex(Math::Vector(p4.x, p2.y, 0.0f), n, Math::Point(uv2.x-ex,uv1.y ));
|
||||
vertex[6] = Gfx::Vertex(Math::Vector(p2.x, p4.y, 0.0f), n, Math::Point(uv2.x, uv1.y+ex));
|
||||
vertex[7] = Gfx::Vertex(Math::Vector(p2.x, p2.y, 0.0f), n, Math::Point(uv2.x, uv1.y ));
|
||||
vertex[0] = Gfx::Vertex(Math::Vector(p1.x, p4.y, 0.0f), n, Math::Point(uv1.x, uv1.y + ex));
|
||||
vertex[1] = Gfx::Vertex(Math::Vector(p1.x, p2.y, 0.0f), n, Math::Point(uv1.x, uv1.y ));
|
||||
vertex[2] = Gfx::Vertex(Math::Vector(p3.x, p4.y, 0.0f), n, Math::Point(uv1.x + ex, uv1.y + ex));
|
||||
vertex[3] = Gfx::Vertex(Math::Vector(p3.x, p2.y, 0.0f), n, Math::Point(uv1.x + ex, uv1.y ));
|
||||
vertex[4] = Gfx::Vertex(Math::Vector(p4.x, p4.y, 0.0f), n, Math::Point(uv2.x - ex, uv1.y + ex));
|
||||
vertex[5] = Gfx::Vertex(Math::Vector(p4.x, p2.y, 0.0f), n, Math::Point(uv2.x - ex, uv1.y ));
|
||||
vertex[6] = Gfx::Vertex(Math::Vector(p2.x, p4.y, 0.0f), n, Math::Point(uv2.x, uv1.y + ex));
|
||||
vertex[7] = Gfx::Vertex(Math::Vector(p2.x, p2.y, 0.0f), n, Math::Point(uv2.x, uv1.y ));
|
||||
device->DrawPrimitive(Gfx::PRIMITIVE_TRIANGLE_STRIP, vertex, 8);
|
||||
m_engine->AddStatisticTriangle(6);
|
||||
}
|
||||
|
@ -799,15 +800,15 @@ void CControl::DrawWarning(Math::Point pos, Math::Point dim)
|
|||
Math::Point uv1, uv2;
|
||||
float dp;
|
||||
|
||||
dp = 0.5f/256.0f;
|
||||
dp = 0.5f / 256.0f;
|
||||
|
||||
m_engine->SetTexture("button2.tga");
|
||||
m_engine->SetState(Gfx::ENG_RSTATE_NORMAL);
|
||||
|
||||
uv1.x = 64.0f/256.0f;
|
||||
uv1.y = 208.0f/256.0f;
|
||||
uv2.x = 160.0f/256.0f;
|
||||
uv2.y = 224.0f/256.0f;
|
||||
uv1.x = 64.0f / 256.0f;
|
||||
uv1.y = 208.0f / 256.0f;
|
||||
uv2.x = 160.0f / 256.0f;
|
||||
uv2.y = 224.0f / 256.0f;
|
||||
|
||||
uv1.x += dp;
|
||||
uv1.y += dp;
|
||||
|
@ -848,25 +849,25 @@ void CControl::DrawShadow(Math::Point pos, Math::Point dim, float deep)
|
|||
m_engine->SetTexture("button2.tga");
|
||||
m_engine->SetState( Gfx::ENG_RSTATE_TTEXTURE_WHITE);
|
||||
|
||||
pos.x += deep*0.010f*0.75f;
|
||||
pos.y -= deep*0.015f;
|
||||
dim.x += deep*0.005f*0.75f;
|
||||
dim.y += deep*0.005f;
|
||||
pos.x += deep * 0.010f * 0.75f;
|
||||
pos.y -= deep * 0.015f;
|
||||
dim.x += deep * 0.005f * 0.75f;
|
||||
dim.y += deep * 0.005f;
|
||||
|
||||
uv1.x = 192.0f/256.0f;
|
||||
uv1.y = 32.0f/256.0f;
|
||||
uv2.x = 224.0f/256.0f;
|
||||
uv2.y = 64.0f/256.0f;
|
||||
uv1.x = 192.0f / 256.0f;
|
||||
uv1.y = 32.0f / 256.0f;
|
||||
uv2.x = 224.0f / 256.0f;
|
||||
uv2.y = 64.0f / 256.0f;
|
||||
|
||||
uv1.x += dp;
|
||||
uv1.y += dp;
|
||||
uv2.x -= dp;
|
||||
uv2.y -= dp;
|
||||
|
||||
corner.x = 10.0f/640.0f;
|
||||
corner.y = 10.0f/480.0f;
|
||||
corner.x = 10.0f / 640.0f;
|
||||
corner.y = 10.0f / 480.0f;
|
||||
|
||||
DrawIcon(pos, dim, uv1, uv2, corner, 6.0f/256.0f);
|
||||
DrawIcon(pos, dim, uv1, uv2, corner, 6.0f / 256.0f);
|
||||
}
|
||||
|
||||
|
||||
|
@ -874,10 +875,10 @@ void CControl::DrawShadow(Math::Point pos, Math::Point dim, float deep)
|
|||
|
||||
bool CControl::Detect(Math::Point pos)
|
||||
{
|
||||
return ( pos.x >= m_pos.x &&
|
||||
pos.x <= m_pos.x+m_dim.x &&
|
||||
pos.y >= m_pos.y &&
|
||||
pos.y <= m_pos.y+m_dim.y );
|
||||
return ( pos.x >= m_pos.x &&
|
||||
pos.x <= m_pos.x + m_dim.x &&
|
||||
pos.y >= m_pos.y &&
|
||||
pos.y <= m_pos.y + m_dim.y );
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -20,20 +20,23 @@
|
|||
|
||||
|
||||
//#include "old/text.h"
|
||||
#include "common/struct.h"
|
||||
#include "common/event.h"
|
||||
#include "graphics/engine/engine.h"
|
||||
#include "graphics/engine/text.h"
|
||||
#include "graphics/engine/particle.h"
|
||||
//#include "common/struct.h"
|
||||
#include "common/event.h"
|
||||
|
||||
namespace Gfx {
|
||||
class CEngine;
|
||||
class CParticle;
|
||||
};
|
||||
|
||||
class CInstanceManager;
|
||||
class CEvent;
|
||||
//class Gfx::CEngine;
|
||||
class CRobotMain;
|
||||
//class Gfx::CParticle;
|
||||
class CSound;
|
||||
|
||||
class CSoundInterface;
|
||||
|
||||
namespace Ui {
|
||||
enum ControlState
|
||||
{
|
||||
STATE_ENABLE = (1<<0), // active
|
||||
|
@ -60,7 +63,8 @@ enum ControlState
|
|||
class CControl
|
||||
{
|
||||
public:
|
||||
CControl(CInstanceManager* iMan);
|
||||
// CControl(CInstanceManager* iMan);
|
||||
CControl ();
|
||||
virtual ~CControl();
|
||||
|
||||
virtual bool Create(Math::Point pos, Math::Point dim, int icon, EventType eventType);
|
||||
|
@ -114,7 +118,7 @@ protected:
|
|||
CEventQueue* m_event;
|
||||
CRobotMain* m_main;
|
||||
Gfx::CParticle* m_particle;
|
||||
CSound* m_sound;
|
||||
CSoundInterface* m_sound;
|
||||
|
||||
Math::Point m_pos; // corner upper / left
|
||||
Math::Point m_dim; // dimensions
|
||||
|
@ -139,3 +143,4 @@ protected:
|
|||
};
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
// * This file is part of the COLOBOT source code
|
||||
// * Copyright (C) 2001-2008, Daniel ROUX & EPSITEC SA, www.epsitec.ch
|
||||
// * Copyright (C) 2012, Polish Portal of Colobot (PPC)
|
||||
// *
|
||||
// * 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
|
||||
|
@ -17,21 +18,22 @@
|
|||
// displayinfo.cpp
|
||||
|
||||
|
||||
#include <windows.h>
|
||||
#include <stdio.h>
|
||||
#include <d3d.h>
|
||||
//#include <windows.h>
|
||||
//#include <stdio.h>
|
||||
//#include <d3d.h>
|
||||
|
||||
#include "common/struct.h"
|
||||
#include "old/d3dengine.h"
|
||||
#include "old/d3dmath.h"
|
||||
//#include "common/struct.h"
|
||||
//#include "old/d3dengine.h"
|
||||
//#include "old/d3dmath.h"
|
||||
#include "graphics/engine/engine.h"
|
||||
#include "common/language.h"
|
||||
#include "common/event.h"
|
||||
#include "common/misc.h"
|
||||
#include "common/iman.h"
|
||||
#include "common/restext.h"
|
||||
#include "old/math3d.h"
|
||||
//#include "old/math3d.h"
|
||||
#include "object/robotmain.h"
|
||||
#include "old/camera.h"
|
||||
//#include "old/camera.h"
|
||||
#include "object/object.h"
|
||||
#include "object/motion/motion.h"
|
||||
#include "object/motion/motiontoto.h"
|
||||
|
@ -41,29 +43,31 @@
|
|||
#include "ui/edit.h"
|
||||
#include "ui/group.h"
|
||||
#include "ui/window.h"
|
||||
#include "old/particule.h"
|
||||
#include "old/light.h"
|
||||
#include "old/text.h"
|
||||
//#include "old/particule.h"
|
||||
#include "graphics/engine/particle.h"
|
||||
//#include "old/light.h"
|
||||
//#include "old/text.h"
|
||||
#include "script/cbottoken.h"
|
||||
#include "ui/displayinfo.h"
|
||||
|
||||
|
||||
|
||||
|
||||
namespace Ui {
|
||||
// Object's constructor.
|
||||
|
||||
CDisplayInfo::CDisplayInfo(CInstanceManager* iMan)
|
||||
//CDisplayInfo::CDisplayInfo(CInstanceManager* iMan)
|
||||
CDisplayInfo::CDisplayInfo()
|
||||
{
|
||||
m_iMan = iMan;
|
||||
m_iMan = CInstanceManager::GetInstancePointer();
|
||||
m_iMan->AddInstance(CLASS_STUDIO, this);
|
||||
|
||||
m_engine = (CD3DEngine*)m_iMan->SearchInstance(CLASS_ENGINE);
|
||||
m_event = (CEvent*)m_iMan->SearchInstance(CLASS_EVENT);
|
||||
m_interface = (CInterface*)m_iMan->SearchInstance(CLASS_INTERFACE);
|
||||
m_main = (CRobotMain*)m_iMan->SearchInstance(CLASS_MAIN);
|
||||
m_camera = (CCamera*)m_iMan->SearchInstance(CLASS_CAMERA);
|
||||
m_particule = (CParticule*)m_iMan->SearchInstance(CLASS_PARTICULE);
|
||||
m_light = (CLight*)m_iMan->SearchInstance(CLASS_LIGHT);
|
||||
m_engine = static_cast <Gfx::CEngine*> (m_iMan->SearchInstance(CLASS_ENGINE));
|
||||
m_event = static_cast <CEventQueue*> (m_iMan->SearchInstance(CLASS_EVENT));
|
||||
m_interface = static_cast <CInterface*> (m_iMan->SearchInstance(CLASS_INTERFACE));
|
||||
m_main = static_cast <CRobotMain*> (m_iMan->SearchInstance(CLASS_MAIN));
|
||||
m_camera = static_cast <Gfx::CCamera*> (m_iMan->SearchInstance(CLASS_CAMERA));
|
||||
m_particle = static_cast <Gfx::CParticle*> (m_iMan->SearchInstance(CLASS_PARTICULE));
|
||||
m_light = static_cast <Gfx::CLight*> (m_iMan->SearchInstance(CLASS_LIGHT));
|
||||
|
||||
m_bInfoMaximized = true;
|
||||
m_bInfoMinimized = false;
|
||||
|
@ -87,22 +91,22 @@ CDisplayInfo::~CDisplayInfo()
|
|||
|
||||
bool CDisplayInfo::EventProcess(const Event &event)
|
||||
{
|
||||
CWindow* pw;
|
||||
CEdit* edit;
|
||||
CSlider* slider;
|
||||
Ui::CWindow* pw;
|
||||
Ui::CEdit* edit;
|
||||
Ui::CSlider* slider;
|
||||
CMotionToto* toto;
|
||||
|
||||
if ( event.event == EVENT_FRAME )
|
||||
if ( event.type == EVENT_FRAME )
|
||||
{
|
||||
EventFrame(event);
|
||||
HyperUpdate();
|
||||
}
|
||||
|
||||
if ( event.event == EVENT_MOUSEMOVE )
|
||||
if ( event.type == EVENT_MOUSE_MOVE )
|
||||
{
|
||||
if ( m_toto != 0 )
|
||||
{
|
||||
toto = (CMotionToto*)m_toto->RetMotion();
|
||||
toto = static_cast<CMotionToto*>(m_toto->GetMotion());
|
||||
if ( toto != 0 )
|
||||
{
|
||||
toto->SetMousePos(event.pos);
|
||||
|
@ -110,21 +114,21 @@ bool CDisplayInfo::EventProcess(const Event &event)
|
|||
}
|
||||
}
|
||||
|
||||
pw = (CWindow*)m_interface->SearchControl(EVENT_WINDOW4);
|
||||
pw = static_cast<Ui::CWindow*>(m_interface->SearchControl(EVENT_WINDOW4));
|
||||
if ( pw != 0 )
|
||||
{
|
||||
if ( event.event == pw->RetEventMsgClose() )
|
||||
if ( event.type == pw->GetEventTypeClose() )
|
||||
{
|
||||
Event newEvent = event;
|
||||
newEvent.event = EVENT_OBJECT_INFOOK;
|
||||
newEvent.type = EVENT_OBJECT_INFOOK;
|
||||
m_event->AddEvent(newEvent);
|
||||
}
|
||||
|
||||
if ( event.event == EVENT_SATCOM_HUSTON )
|
||||
if ( event.type == EVENT_SATCOM_HUSTON )
|
||||
{
|
||||
ChangeIndexButton(SATCOM_HUSTON);
|
||||
}
|
||||
if ( event.event == EVENT_SATCOM_SAT )
|
||||
if ( event.type == EVENT_SATCOM_SAT )
|
||||
{
|
||||
ChangeIndexButton(SATCOM_SAT);
|
||||
}
|
||||
|
@ -132,90 +136,90 @@ bool CDisplayInfo::EventProcess(const Event &event)
|
|||
//? {
|
||||
//? ChangeIndexButton(SATCOM_OBJECT);
|
||||
//? }
|
||||
if ( event.event == EVENT_SATCOM_LOADING )
|
||||
if ( event.type == EVENT_SATCOM_LOADING )
|
||||
{
|
||||
ChangeIndexButton(SATCOM_LOADING);
|
||||
}
|
||||
if ( event.event == EVENT_SATCOM_PROG )
|
||||
if ( event.type == EVENT_SATCOM_PROG )
|
||||
{
|
||||
ChangeIndexButton(SATCOM_PROG);
|
||||
}
|
||||
if ( event.event == EVENT_SATCOM_SOLUCE )
|
||||
if ( event.type == EVENT_SATCOM_SOLUCE )
|
||||
{
|
||||
ChangeIndexButton(SATCOM_SOLUCE);
|
||||
}
|
||||
|
||||
if ( event.event == EVENT_HYPER_HOME ||
|
||||
event.event == EVENT_HYPER_PREV ||
|
||||
event.event == EVENT_HYPER_NEXT )
|
||||
if ( event.type == EVENT_HYPER_HOME ||
|
||||
event.type == EVENT_HYPER_PREV ||
|
||||
event.type == EVENT_HYPER_NEXT )
|
||||
{
|
||||
edit = (CEdit*)pw->SearchControl(EVENT_EDIT1);
|
||||
edit = static_cast<Ui::CEdit*>(pw->SearchControl(EVENT_EDIT1));
|
||||
if ( edit != 0 )
|
||||
{
|
||||
edit->HyperGo(event.event);
|
||||
edit->HyperGo(event.type);
|
||||
HyperUpdate();
|
||||
}
|
||||
}
|
||||
|
||||
if ( event.event == EVENT_HYPER_SIZE1 ) // size 1?
|
||||
if ( event.type == EVENT_HYPER_SIZE1 ) // size 1?
|
||||
{
|
||||
m_main->SetFontSize(9.0f);
|
||||
slider = (CSlider*)pw->SearchControl(EVENT_STUDIO_SIZE);
|
||||
if ( slider != 0 ) slider->SetVisibleValue((m_main->RetFontSize()-9.0f)/6.0f);
|
||||
slider = static_cast<Ui::CSlider*>(pw->SearchControl(EVENT_STUDIO_SIZE));
|
||||
if ( slider != 0 ) slider->SetVisibleValue((m_main->GetFontSize()-9.0f)/6.0f);
|
||||
ViewDisplayInfo();
|
||||
}
|
||||
if ( event.event == EVENT_HYPER_SIZE2 ) // size 2?
|
||||
if ( event.type == EVENT_HYPER_SIZE2 ) // size 2?
|
||||
{
|
||||
m_main->SetFontSize(10.0f);
|
||||
slider = (CSlider*)pw->SearchControl(EVENT_STUDIO_SIZE);
|
||||
if ( slider != 0 ) slider->SetVisibleValue((m_main->RetFontSize()-9.0f)/6.0f);
|
||||
slider = static_cast<Ui::CSlider*>(pw->SearchControl(EVENT_STUDIO_SIZE));
|
||||
if ( slider != 0 ) slider->SetVisibleValue((m_main->GetFontSize()-9.0f)/6.0f);
|
||||
ViewDisplayInfo();
|
||||
}
|
||||
if ( event.event == EVENT_HYPER_SIZE3 ) // size 3?
|
||||
if ( event.type == EVENT_HYPER_SIZE3 ) // size 3?
|
||||
{
|
||||
m_main->SetFontSize(12.0f);
|
||||
slider = (CSlider*)pw->SearchControl(EVENT_STUDIO_SIZE);
|
||||
if ( slider != 0 ) slider->SetVisibleValue((m_main->RetFontSize()-9.0f)/6.0f);
|
||||
slider = static_cast<Ui::CSlider*>(pw->SearchControl(EVENT_STUDIO_SIZE));
|
||||
if ( slider != 0 ) slider->SetVisibleValue((m_main->GetFontSize()-9.0f)/6.0f);
|
||||
ViewDisplayInfo();
|
||||
}
|
||||
if ( event.event == EVENT_HYPER_SIZE4 ) // size 4?
|
||||
if ( event.type == EVENT_HYPER_SIZE4 ) // size 4?
|
||||
{
|
||||
m_main->SetFontSize(15.0f);
|
||||
slider = (CSlider*)pw->SearchControl(EVENT_STUDIO_SIZE);
|
||||
if ( slider != 0 ) slider->SetVisibleValue((m_main->RetFontSize()-9.0f)/6.0f);
|
||||
slider = static_cast<Ui::CSlider*>(pw->SearchControl(EVENT_STUDIO_SIZE));
|
||||
if ( slider != 0 ) slider->SetVisibleValue((m_main->GetFontSize()-9.0f)/6.0f);
|
||||
ViewDisplayInfo();
|
||||
}
|
||||
|
||||
if ( event.event == EVENT_STUDIO_SIZE ) // size?
|
||||
if ( event.type == EVENT_STUDIO_SIZE ) // size?
|
||||
{
|
||||
slider = (CSlider*)pw->SearchControl(EVENT_STUDIO_SIZE);
|
||||
slider = static_cast<Ui::CSlider*>(pw->SearchControl(EVENT_STUDIO_SIZE));
|
||||
if ( slider == 0 ) return false;
|
||||
m_main->SetFontSize(9.0f+slider->RetVisibleValue()*6.0f);
|
||||
m_main->SetFontSize(9.0f+slider->GetVisibleValue()*6.0f);
|
||||
ViewDisplayInfo();
|
||||
}
|
||||
|
||||
if ( event.event == EVENT_HYPER_COPY ) // copy ?
|
||||
if ( event.type == EVENT_HYPER_COPY ) // copy ?
|
||||
{
|
||||
edit = (CEdit*)pw->SearchControl(EVENT_EDIT1);
|
||||
edit = static_cast<Ui::CEdit*>(pw->SearchControl(EVENT_EDIT1));
|
||||
if ( edit != 0 )
|
||||
{
|
||||
edit->Copy();
|
||||
}
|
||||
}
|
||||
|
||||
if ( event.event == EVENT_LBUTTONDOWN ||
|
||||
event.event == EVENT_LBUTTONUP )
|
||||
if ( ( event.type == EVENT_MOUSE_BUTTON_DOWN && event.mouseButton.button == 1 )||
|
||||
( event.type == EVENT_MOUSE_BUTTON_UP && event.mouseButton.button == 1 ))
|
||||
{
|
||||
UpdateCopyButton();
|
||||
}
|
||||
|
||||
if ( event.event == EVENT_WINDOW4 ) // window moved?
|
||||
if ( event.type == EVENT_WINDOW4 ) // window moved?
|
||||
{
|
||||
m_infoNormalPos = m_infoActualPos = m_infoFinalPos = pw->RetPos();
|
||||
m_infoNormalDim = m_infoActualDim = m_infoFinalDim = pw->RetDim();
|
||||
m_infoNormalPos = m_infoActualPos = m_infoFinalPos = pw->GetPos();
|
||||
m_infoNormalDim = m_infoActualDim = m_infoFinalDim = pw->GetDim();
|
||||
AdjustDisplayInfo(m_infoActualPos, m_infoActualDim);
|
||||
}
|
||||
if ( event.event == pw->RetEventMsgReduce() )
|
||||
if ( event.type == pw->GetEventTypeReduce() )
|
||||
{
|
||||
if ( m_bInfoMinimized )
|
||||
{
|
||||
|
@ -241,7 +245,7 @@ bool CDisplayInfo::EventProcess(const Event &event)
|
|||
pw->SetMinimized(m_bInfoMinimized);
|
||||
}
|
||||
}
|
||||
if ( event.event == pw->RetEventMsgFull() )
|
||||
if ( event.type == pw->GetEventTypeFull() )
|
||||
{
|
||||
if ( m_bInfoMaximized )
|
||||
{
|
||||
|
@ -260,7 +264,7 @@ bool CDisplayInfo::EventProcess(const Event &event)
|
|||
m_bInfoMaximized = true;
|
||||
}
|
||||
//? m_main->SetEditFull(m_bInfoMaximized);
|
||||
pw = (CWindow*)m_interface->SearchControl(EVENT_WINDOW4);
|
||||
pw = static_cast<Ui::CWindow*>(m_interface->SearchControl(EVENT_WINDOW4));
|
||||
if ( pw != 0 )
|
||||
{
|
||||
pw->SetMaximized(m_bInfoMaximized);
|
||||
|
@ -299,31 +303,31 @@ bool CDisplayInfo::EventFrame(const Event &event)
|
|||
|
||||
void CDisplayInfo::HyperUpdate()
|
||||
{
|
||||
CWindow* pw;
|
||||
CEdit* edit;
|
||||
CButton* button;
|
||||
bool bEnable;
|
||||
Ui::CWindow* pw;
|
||||
Ui::CEdit* edit;
|
||||
Ui::CButton* button;
|
||||
bool bEnable;
|
||||
|
||||
pw = (CWindow*)m_interface->SearchControl(EVENT_WINDOW4);
|
||||
pw = static_cast<Ui::CWindow*>(m_interface->SearchControl(EVENT_WINDOW4));
|
||||
if ( pw == 0 ) return;
|
||||
edit = (CEdit*)pw->SearchControl(EVENT_EDIT1);
|
||||
edit = static_cast<Ui::CEdit*>(pw->SearchControl(EVENT_EDIT1));
|
||||
if ( edit == 0 ) return;
|
||||
|
||||
button = (CButton*)pw->SearchControl(EVENT_HYPER_HOME);
|
||||
button = static_cast<Ui::CButton*>(pw->SearchControl(EVENT_HYPER_HOME));
|
||||
if ( button != 0 )
|
||||
{
|
||||
bEnable = edit->HyperTest(EVENT_HYPER_HOME);
|
||||
button->SetState(STATE_ENABLE, bEnable);
|
||||
}
|
||||
|
||||
button = (CButton*)pw->SearchControl(EVENT_HYPER_PREV);
|
||||
button = static_cast<Ui::CButton*>(pw->SearchControl(EVENT_HYPER_PREV));
|
||||
if ( button != 0 )
|
||||
{
|
||||
bEnable = edit->HyperTest(EVENT_HYPER_PREV);
|
||||
button->SetState(STATE_ENABLE, bEnable);
|
||||
}
|
||||
|
||||
button = (CButton*)pw->SearchControl(EVENT_HYPER_NEXT);
|
||||
button = static_cast<Ui::CButton*>(pw->SearchControl(EVENT_HYPER_NEXT));
|
||||
if ( button != 0 )
|
||||
{
|
||||
bEnable = edit->HyperTest(EVENT_HYPER_NEXT);
|
||||
|
@ -336,12 +340,12 @@ void CDisplayInfo::HyperUpdate()
|
|||
|
||||
void CDisplayInfo::StartDisplayInfo(char *filename, int index, bool bSoluce)
|
||||
{
|
||||
D3DLIGHT7 light;
|
||||
Gfx::CLight light;
|
||||
Math::Point pos, dim;
|
||||
CWindow* pw;
|
||||
CEdit* edit;
|
||||
CButton* button;
|
||||
CSlider* slider;
|
||||
Ui::CWindow* pw;
|
||||
Ui::CEdit* edit;
|
||||
Ui::CButton* button;
|
||||
Ui::CSlider* slider;
|
||||
CMotionToto* toto;
|
||||
|
||||
m_index = index;
|
||||
|
@ -349,10 +353,10 @@ void CDisplayInfo::StartDisplayInfo(char *filename, int index, bool bSoluce)
|
|||
|
||||
//? CreateObjectsFile();
|
||||
|
||||
m_bEditLock = m_main->RetEditLock();
|
||||
m_bEditLock = m_main->GetEditLock();
|
||||
if ( m_bEditLock ) // edition running program?
|
||||
{
|
||||
pw = (CWindow*)m_interface->SearchControl(EVENT_WINDOW3);
|
||||
pw = static_cast<Ui::CWindow*>(m_interface->SearchControl(EVENT_WINDOW3));
|
||||
if ( pw != 0 )
|
||||
{
|
||||
pw->ClearState(STATE_ENABLE); // CStudio inactive
|
||||
|
@ -361,10 +365,10 @@ void CDisplayInfo::StartDisplayInfo(char *filename, int index, bool bSoluce)
|
|||
|
||||
m_main->SetEditLock(true, false);
|
||||
m_main->SetEditFull(false);
|
||||
m_bInitPause = m_engine->RetPause();
|
||||
m_bInitPause = m_engine->GetPause();
|
||||
m_engine->SetPause(true);
|
||||
m_infoCamera = m_camera->RetType();
|
||||
m_camera->SetType(CAMERA_INFO);
|
||||
m_infoCamera = m_camera->GetType();
|
||||
m_camera->SetType(Gfx::CAM_TYPE_INFO);
|
||||
|
||||
pos = m_infoActualPos = m_infoFinalPos;
|
||||
dim = m_infoActualDim = m_infoFinalDim;
|
||||
|
@ -383,7 +387,7 @@ void CDisplayInfo::StartDisplayInfo(char *filename, int index, bool bSoluce)
|
|||
edit->SetState(STATE_SHADOW);
|
||||
edit->SetMultiFont(true);
|
||||
edit->SetMaxChar(10000);
|
||||
edit->SetFontType(FONT_COLOBOT);
|
||||
edit->SetFontType(Gfx::FONT_COLOBOT);
|
||||
edit->SetSoluceMode(bSoluce);
|
||||
edit->ReadText(filename);
|
||||
edit->HyperHome(filename);
|
||||
|
@ -447,20 +451,20 @@ void CDisplayInfo::StartDisplayInfo(char *filename, int index, bool bSoluce)
|
|||
|
||||
m_engine->SetDrawWorld(false); // doesn't draw anything in the interface
|
||||
m_engine->SetDrawFront(true); // toto draws on the interface
|
||||
m_particule->SetFrameUpdate(SH_WORLD, false); // particles break into world
|
||||
m_particle->SetFrameUpdate(Gfx::SH_WORLD, false); // particles break into world
|
||||
|
||||
m_toto = SearchToto();
|
||||
if ( m_toto != 0 )
|
||||
{
|
||||
m_toto->SetDrawFront(true);
|
||||
|
||||
toto = (CMotionToto*)m_toto->RetMotion();
|
||||
toto = static_cast<CMotionToto*>(m_toto->GetMotion());
|
||||
if ( toto != 0 )
|
||||
{
|
||||
toto->StartDisplayInfo();
|
||||
}
|
||||
}
|
||||
|
||||
// TODO
|
||||
ZeroMemory(&light, sizeof(light));
|
||||
light.dltType = D3DLIGHT_DIRECTIONAL;
|
||||
light.dcvDiffuse.r = 1.0f;
|
||||
|
@ -483,31 +487,31 @@ void CDisplayInfo::AdjustDisplayInfo(Math::Point wpos, Math::Point wdim)
|
|||
CGroup* group;
|
||||
Math::Point pos, dim;
|
||||
|
||||
wpos.x = 50.0f/640.0f;
|
||||
wpos.y = 30.0f/480.0f;
|
||||
wdim.x = 540.0f/640.0f;
|
||||
wdim.y = 420.0f/480.0f;
|
||||
wpos.x = 50.0f / 640.0f;
|
||||
wpos.y = 30.0f / 480.0f;
|
||||
wdim.x = 540.0f / 640.0f;
|
||||
wdim.y = 420.0f / 480.0f;
|
||||
|
||||
pw = (CWindow*)m_interface->SearchControl(EVENT_WINDOW4);
|
||||
pw = static_cast<Ui::CWindow*>(m_interface->SearchControl(EVENT_WINDOW4));
|
||||
if ( pw != 0 )
|
||||
{
|
||||
pw->SetPos(wpos);
|
||||
pw->SetDim(wdim);
|
||||
wdim = pw->RetDim();
|
||||
wdim = pw->GetDim();
|
||||
}
|
||||
|
||||
pos.x = (50.0f+10.0f)/640.0f;
|
||||
pos.y = (30.0f+10.0f+24.0f+10.0f+324.0f-48.0f)/480.0f;
|
||||
dim.x = 48.0f/640.0f;
|
||||
dim.y = 48.0f/480.0f;
|
||||
button = (CButton*)pw->SearchControl(EVENT_SATCOM_HUSTON);
|
||||
pos.x = (50.0f + 10.0f) / 640.0f;
|
||||
pos.y = (30.0f + 10.0f + 24.0f + 10.0f + 324.0f - 48.0f) / 480.0f;
|
||||
dim.x = 48.0f / 640.0f;
|
||||
dim.y = 48.0f / 480.0f;
|
||||
button = static_cast<Ui::CButton*>(pw->SearchControl(EVENT_SATCOM_HUSTON));
|
||||
if ( button != 0 )
|
||||
{
|
||||
button->SetPos(pos);
|
||||
button->SetDim(dim);
|
||||
}
|
||||
pos.y -= (48.0f+4.0f)/480.0f;
|
||||
button = (CButton*)pw->SearchControl(EVENT_SATCOM_SAT);
|
||||
pos.y -= (48.0f + 4.0f) / 480.0f;
|
||||
button = static_cast<Ui::CButton*>(pw->SearchControl(EVENT_SATCOM_SAT));
|
||||
if ( button != 0 )
|
||||
{
|
||||
button->SetPos(pos);
|
||||
|
@ -520,136 +524,136 @@ void CDisplayInfo::AdjustDisplayInfo(Math::Point wpos, Math::Point wdim)
|
|||
//? button->SetPos(pos);
|
||||
//? button->SetDim(dim);
|
||||
//? }
|
||||
pos.y -= (48.0f+4.0f)/480.0f;
|
||||
button = (CButton*)pw->SearchControl(EVENT_SATCOM_LOADING);
|
||||
pos.y -= (48.0f + 4.0f) / 480.0f;
|
||||
button = static_cast<Ui::CButton*>(pw->SearchControl(EVENT_SATCOM_LOADING));
|
||||
if ( button != 0 )
|
||||
{
|
||||
button->SetPos(pos);
|
||||
button->SetDim(dim);
|
||||
}
|
||||
pos.y -= (48.0f+4.0f)/480.0f;
|
||||
button = (CButton*)pw->SearchControl(EVENT_SATCOM_PROG);
|
||||
pos.y -= (48.0f + 4.0f) / 480.0f;
|
||||
button = static_cast<Ui::CButton*>(pw->SearchControl(EVENT_SATCOM_PROG));
|
||||
if ( button != 0 )
|
||||
{
|
||||
button->SetPos(pos);
|
||||
button->SetDim(dim);
|
||||
}
|
||||
pos.y -= (48.0f+4.0f)/480.0f;
|
||||
button = (CButton*)pw->SearchControl(EVENT_SATCOM_SOLUCE);
|
||||
pos.y -= (48.0f + 4.0f) / 480.0f;
|
||||
button = static_cast<Ui::CButton*>(pw->SearchControl(EVENT_SATCOM_SOLUCE));
|
||||
if ( button != 0 )
|
||||
{
|
||||
button->SetPos(pos);
|
||||
button->SetDim(dim);
|
||||
}
|
||||
|
||||
pos.x = (50.0f+10.0f+5.0f)/640.0f;
|
||||
pos.y = (30.0f+10.0f+4.0f)/480.0f;
|
||||
dim.x = (48.0f-10.0f)/640.0f;
|
||||
dim.y = 24.0f/480.0f;
|
||||
button = (CButton*)pw->SearchControl(EVENT_OBJECT_INFOOK);
|
||||
pos.x = (50.0f + 10.0f + 5.0f) / 640.0f;
|
||||
pos.y = (30.0f + 10.0f + 4.0f) / 480.0f;
|
||||
dim.x = (48.0f - 10.0f) / 640.0f;
|
||||
dim.y = 24.0f / 480.0f;
|
||||
button = static_cast<Ui::CButton*>(pw->SearchControl(EVENT_OBJECT_INFOOK));
|
||||
if ( button != 0 )
|
||||
{
|
||||
button->SetPos(pos);
|
||||
button->SetDim(dim);
|
||||
}
|
||||
|
||||
pos.x = (50.0f+10.0f+48.0f+10.0f)/640.0f;
|
||||
pos.y = (30.0f+10.0f)/480.0f;
|
||||
dim.x = 462.0f/640.0f;
|
||||
dim.y = 358.0f/480.0f;
|
||||
edit = (CEdit*)pw->SearchControl(EVENT_EDIT1);
|
||||
pos.x = (50.0f + 10.0f + 48.0f + 10.0f) / 640.0f;
|
||||
pos.y = (30.0f + 10.0f) / 480.0f;
|
||||
dim.x = 462.0f / 640.0f;
|
||||
dim.y = 358.0f / 480.0f;
|
||||
edit = static_cast<Ui::CEdit*>(pw->SearchControl(EVENT_EDIT1));
|
||||
if ( edit != 0 )
|
||||
{
|
||||
edit->SetPos(pos);
|
||||
edit->SetDim(dim);
|
||||
}
|
||||
|
||||
pos.x = (50.0f+10.0f+48.0f+10.0f)/640.0f;
|
||||
pos.y = (30.0f+10.0f+358.0f+10.0f)/480.0f;
|
||||
dim.x = 32.0f/640.0f;
|
||||
dim.y = 32.0f/480.0f;
|
||||
button = (CButton*)pw->SearchControl(EVENT_HYPER_PREV);
|
||||
pos.x = (50.0f + 10.0f + 48.0f + 10.0f) / 640.0f;
|
||||
pos.y = (30.0f + 10.0f + 358.0f + 10.0f) / 480.0f;
|
||||
dim.x = 32.0f / 640.0f;
|
||||
dim.y = 32.0f / 480.0f;
|
||||
button = static_cast<Ui::CButton*>(pw->SearchControl(EVENT_HYPER_PREV));
|
||||
if ( button != 0 )
|
||||
{
|
||||
button->SetPos(pos);
|
||||
button->SetDim(dim);
|
||||
}
|
||||
pos.x += 35.0f/640.0f;
|
||||
button = (CButton*)pw->SearchControl(EVENT_HYPER_NEXT);
|
||||
pos.x += 35.0f / 640.0f;
|
||||
button = static_cast<Ui::CButton*>(pw->SearchControl(EVENT_HYPER_NEXT));
|
||||
if ( button != 0 )
|
||||
{
|
||||
button->SetPos(pos);
|
||||
button->SetDim(dim);
|
||||
}
|
||||
pos.x += 35.0f/640.0f;
|
||||
button = (CButton*)pw->SearchControl(EVENT_HYPER_HOME);
|
||||
pos.x += 35.0f / 640.0f;
|
||||
button = static_cast<Ui::CButton*>(pw->SearchControl(EVENT_HYPER_HOME));
|
||||
if ( button != 0 )
|
||||
{
|
||||
button->SetPos(pos);
|
||||
button->SetDim(dim);
|
||||
}
|
||||
|
||||
pos.x += 50.0f/640.0f;
|
||||
button = (CButton*)pw->SearchControl(EVENT_HYPER_SIZE1);
|
||||
pos.x += 50.0f / 640.0f;
|
||||
button = static_cast<Ui::CButton*>(pw->SearchControl(EVENT_HYPER_SIZE1));
|
||||
if ( button != 0 )
|
||||
{
|
||||
button->SetPos(pos);
|
||||
button->SetDim(dim);
|
||||
}
|
||||
pos.x += 35.0f/640.0f;
|
||||
button = (CButton*)pw->SearchControl(EVENT_HYPER_SIZE2);
|
||||
pos.x += 35.0f / 640.0f;
|
||||
button = static_cast<Ui::CButton*>(pw->SearchControl(EVENT_HYPER_SIZE2));
|
||||
if ( button != 0 )
|
||||
{
|
||||
button->SetPos(pos);
|
||||
button->SetDim(dim);
|
||||
}
|
||||
pos.x += 35.0f/640.0f;
|
||||
button = (CButton*)pw->SearchControl(EVENT_HYPER_SIZE3);
|
||||
pos.x += 35.0f / 640.0f;
|
||||
button = static_cast<Ui::CButton*>(pw->SearchControl(EVENT_HYPER_SIZE3));
|
||||
if ( button != 0 )
|
||||
{
|
||||
button->SetPos(pos);
|
||||
button->SetDim(dim);
|
||||
}
|
||||
pos.x += 35.0f/640.0f;
|
||||
button = (CButton*)pw->SearchControl(EVENT_HYPER_SIZE4);
|
||||
pos.x += 35.0f / 640.0f;
|
||||
button = static_cast<Ui::CButton*>(pw->SearchControl(EVENT_HYPER_SIZE4));
|
||||
if ( button != 0 )
|
||||
{
|
||||
button->SetPos(pos);
|
||||
button->SetDim(dim);
|
||||
}
|
||||
pos.x += 35.0f/640.0f;
|
||||
dim.x = 18.0f/640.0f;
|
||||
slider = (CSlider*)pw->SearchControl(EVENT_STUDIO_SIZE);
|
||||
pos.x += 35.0f / 640.0f;
|
||||
dim.x = 18.0f / 640.0f;
|
||||
slider = static_cast<Ui::CSlider*>(pw->SearchControl(EVENT_STUDIO_SIZE));
|
||||
if ( slider != 0 )
|
||||
{
|
||||
slider->SetPos(pos);
|
||||
slider->SetDim(dim);
|
||||
}
|
||||
pos.x += 50.0f/640.0f;
|
||||
dim.x = 32.0f/640.0f;
|
||||
button = (CButton*)pw->SearchControl(EVENT_HYPER_COPY);
|
||||
pos.x += 50.0f / 640.0f;
|
||||
dim.x = 32.0f / 640.0f;
|
||||
button = static_cast<Ui::CButton*>(pw->SearchControl(EVENT_HYPER_COPY));
|
||||
if ( button != 0 )
|
||||
{
|
||||
button->SetPos(pos);
|
||||
button->SetDim(dim);
|
||||
}
|
||||
|
||||
pos.x = (50.0f+10.0f)/640.0f;
|
||||
pos.y = (30.0f+10.0f+24.0f+10.0f+324.0f+6.0f)/480.0f;
|
||||
dim.x = 48.0f/640.0f;
|
||||
dim.y = 40.0f/480.0f;
|
||||
group = (CGroup*)pw->SearchControl(EVENT_LABEL2); // symbol SatCom
|
||||
pos.x = (50.0f + 10.0f) / 640.0f;
|
||||
pos.y = (30.0f + 10.0f + 24.0f + 10.0f + 324.0f + 6.0f) / 480.0f;
|
||||
dim.x = 48.0f / 640.0f;
|
||||
dim.y = 40.0f / 480.0f;
|
||||
group = static_cast<Ui::CGroup*>(pw->SearchControl(EVENT_LABEL2)); // symbol SatCom
|
||||
if ( group != 0 )
|
||||
{
|
||||
group->SetPos(pos);
|
||||
group->SetDim(dim);
|
||||
}
|
||||
|
||||
pos.x = (50.0f+10.0f+14.0f)/640.0f;
|
||||
pos.y = (30.0f+10.0f+6.0f)/480.0f;
|
||||
dim.x = 20.0f/640.0f;
|
||||
dim.y = 20.0f/480.0f;
|
||||
group = (CGroup*)pw->SearchControl(EVENT_LABEL3); // symbol stand-by
|
||||
pos.x = (50.0f + 10.0f + 14.0f) / 640.0f;
|
||||
pos.y = (30.0f + 10.0f + 6.0f) / 480.0f;
|
||||
dim.x = 20.0f / 640.0f;
|
||||
dim.y = 20.0f / 480.0f;
|
||||
group = static_cast<Ui::CGroup*>(pw->SearchControl(EVENT_LABEL3)); // symbol stand-by
|
||||
if ( group != 0 )
|
||||
{
|
||||
group->SetPos(pos);
|
||||
|
@ -661,26 +665,26 @@ void CDisplayInfo::AdjustDisplayInfo(Math::Point wpos, Math::Point wdim)
|
|||
|
||||
void CDisplayInfo::ChangeIndexButton(int index)
|
||||
{
|
||||
CWindow* pw;
|
||||
CEdit* edit;
|
||||
Ui::CWindow* pw;
|
||||
Ui::CEdit* edit;
|
||||
char* filename;
|
||||
|
||||
pw = (CWindow*)m_interface->SearchControl(EVENT_WINDOW4);
|
||||
pw = static_cast<Ui::CWindow*>(m_interface->SearchControl(EVENT_WINDOW4));
|
||||
if ( pw == 0 ) return;
|
||||
|
||||
if ( m_index != -1 )
|
||||
{
|
||||
m_main->SetDisplayInfoPosition(m_index, RetPosition());
|
||||
m_main->SetDisplayInfoPosition(m_index, GetPosition());
|
||||
}
|
||||
m_index = index;
|
||||
|
||||
edit = (CEdit*)pw->SearchControl(EVENT_EDIT1);
|
||||
edit = static_cast<Ui::CEdit*>(pw->SearchControl(EVENT_EDIT1));
|
||||
if ( edit != 0 )
|
||||
{
|
||||
filename = m_main->RetDisplayInfoName(m_index);
|
||||
filename = m_main->GetDisplayInfoName(m_index);
|
||||
edit->ReadText(filename);
|
||||
edit->HyperHome(filename);
|
||||
SetPosition(m_main->RetDisplayInfoPosition(m_index));
|
||||
SetPosition(m_main->GetDisplayInfoPosition(m_index));
|
||||
}
|
||||
|
||||
UpdateIndexButton();
|
||||
|
@ -690,10 +694,10 @@ void CDisplayInfo::ChangeIndexButton(int index)
|
|||
|
||||
void CDisplayInfo::UpdateIndexButton()
|
||||
{
|
||||
CWindow* pw;
|
||||
CButton* button;
|
||||
CGroup* group;
|
||||
CEdit* edit;
|
||||
Ui::CWindow* pw;
|
||||
Ui::CButton* button;
|
||||
Ui::CGroup* group;
|
||||
Ui::CEdit* edit;
|
||||
Math::Point pos, dim;
|
||||
char* filename;
|
||||
char* loading;
|
||||
|
@ -708,10 +712,10 @@ void CDisplayInfo::UpdateIndexButton()
|
|||
4, // SATCOM_SOLUCE
|
||||
};
|
||||
|
||||
pw = (CWindow*)m_interface->SearchControl(EVENT_WINDOW4);
|
||||
pw = static_cast<Ui::CWindow*>(m_interface->SearchControl(EVENT_WINDOW4));
|
||||
if ( pw == 0 ) return;
|
||||
|
||||
button = (CButton*)pw->SearchControl(EVENT_SATCOM_HUSTON);
|
||||
button = static_cast<Ui::CButton*>(pw->SearchControl(EVENT_SATCOM_HUSTON));
|
||||
if ( button != 0 )
|
||||
{
|
||||
button->SetState(STATE_CHECK, m_index==SATCOM_HUSTON);
|
||||
|
@ -719,7 +723,7 @@ void CDisplayInfo::UpdateIndexButton()
|
|||
button->SetState(STATE_VISIBLE, filename[0]!=0);
|
||||
}
|
||||
|
||||
button = (CButton*)pw->SearchControl(EVENT_SATCOM_SAT);
|
||||
button = static_cast<Ui::CButton*>(pw->SearchControl(EVENT_SATCOM_SAT));
|
||||
if ( button != 0 )
|
||||
{
|
||||
button->SetState(STATE_CHECK, m_index==SATCOM_SAT);
|
||||
|
@ -736,7 +740,7 @@ void CDisplayInfo::UpdateIndexButton()
|
|||
//? }
|
||||
|
||||
loading = 0;
|
||||
button = (CButton*)pw->SearchControl(EVENT_SATCOM_LOADING);
|
||||
button = static_cast<Ui::CButton*>(pw->SearchControl(EVENT_SATCOM_LOADING));
|
||||
if ( button != 0 )
|
||||
{
|
||||
button->SetState(STATE_CHECK, m_index==SATCOM_LOADING);
|
||||
|
@ -744,7 +748,7 @@ void CDisplayInfo::UpdateIndexButton()
|
|||
button->SetState(STATE_VISIBLE, loading[0]!=0);
|
||||
}
|
||||
|
||||
button = (CButton*)pw->SearchControl(EVENT_SATCOM_PROG);
|
||||
button = static_cast<Ui::CButton*>(pw->SearchControl(EVENT_SATCOM_PROG));
|
||||
if ( button != 0 )
|
||||
{
|
||||
button->SetState(STATE_CHECK, m_index==SATCOM_PROG);
|
||||
|
@ -752,7 +756,7 @@ void CDisplayInfo::UpdateIndexButton()
|
|||
button->SetState(STATE_VISIBLE, filename[0]!=0 && (m_index==SATCOM_LOADING||m_index==SATCOM_PROG||(loading!=0&&loading[0]==0)));
|
||||
}
|
||||
|
||||
button = (CButton*)pw->SearchControl(EVENT_SATCOM_SOLUCE);
|
||||
button = static_cast<Ui::CButton*>(pw->SearchControl(EVENT_SATCOM_SOLUCE));
|
||||
if ( button != 0 )
|
||||
{
|
||||
button->SetState(STATE_CHECK, m_index==SATCOM_SOLUCE);
|
||||
|
@ -760,7 +764,7 @@ void CDisplayInfo::UpdateIndexButton()
|
|||
button->SetState(STATE_VISIBLE, filename[0]!=0 && m_bSoluce);
|
||||
}
|
||||
|
||||
group = (CGroup*)pw->SearchControl(EVENT_LABEL1);
|
||||
group = static_cast<Ui::CGroup*>(pw->SearchControl(EVENT_LABEL1));
|
||||
if ( group != 0 )
|
||||
{
|
||||
if ( m_index == -1 )
|
||||
|
@ -789,7 +793,7 @@ void CDisplayInfo::UpdateIndexButton()
|
|||
}
|
||||
#endif
|
||||
|
||||
edit = (CEdit*)pw->SearchControl(EVENT_EDIT1);
|
||||
edit = static_cast<Ui::CEdit*>(pw->SearchControl(EVENT_EDIT1));
|
||||
if ( edit != 0 )
|
||||
{
|
||||
//? edit->SetHiliteCap(m_index==SATCOM_LOADING);
|
||||
|
@ -803,20 +807,20 @@ void CDisplayInfo::UpdateIndexButton()
|
|||
|
||||
void CDisplayInfo::UpdateCopyButton()
|
||||
{
|
||||
CWindow* pw;
|
||||
CButton* button;
|
||||
CEdit* edit;
|
||||
Ui::CWindow* pw;
|
||||
Ui::CButton* button;
|
||||
Ui::CEdit* edit;
|
||||
int c1, c2;
|
||||
|
||||
//? if ( m_index != SATCOM_LOADING ) return;
|
||||
|
||||
pw = (CWindow*)m_interface->SearchControl(EVENT_WINDOW4);
|
||||
pw = static_cast<Ui::CWindow*>(m_interface->SearchControl(EVENT_WINDOW4));
|
||||
if ( pw == 0 ) return;
|
||||
|
||||
button = (CButton*)pw->SearchControl(EVENT_HYPER_COPY);
|
||||
button = static_cast<Ui::CButton*>(pw->SearchControl(EVENT_HYPER_COPY));
|
||||
if ( button == 0 ) return;
|
||||
|
||||
edit = (CEdit*)pw->SearchControl(EVENT_EDIT1);
|
||||
edit = static_cast<Ui::CEdit*>(pw->SearchControl(EVENT_EDIT1));
|
||||
if ( edit == 0 ) return;
|
||||
|
||||
edit->GetCursor(c1, c2);
|
||||
|
@ -828,10 +832,10 @@ void CDisplayInfo::UpdateCopyButton()
|
|||
|
||||
void CDisplayInfo::StopDisplayInfo()
|
||||
{
|
||||
CWindow* pw;
|
||||
Ui::CWindow* pw;
|
||||
CMotionToto* toto;
|
||||
|
||||
pw = (CWindow*)m_interface->SearchControl(EVENT_WINDOW4);
|
||||
pw = static_cast<Ui::CWindow*>(m_interface->SearchControl(EVENT_WINDOW4));
|
||||
if ( pw == 0 ) return;
|
||||
|
||||
m_interface->DeleteControl(EVENT_WINDOW4);
|
||||
|
@ -853,13 +857,13 @@ void CDisplayInfo::StopDisplayInfo()
|
|||
|
||||
m_engine->SetDrawWorld(true); // draws all on the interface
|
||||
m_engine->SetDrawFront(false); // draws nothing on the interface
|
||||
m_particule->SetFrameUpdate(SH_WORLD, true);
|
||||
m_particule->FlushParticule(SH_FRONT);
|
||||
m_particule->FlushParticule(SH_INTERFACE);
|
||||
m_particle->SetFrameUpdate(Gfx::SH_WORLD, true);
|
||||
m_particle->FlushParticule(Gfx::SH_FRONT);
|
||||
m_particle->FlushParticule(Gfx::SH_INTERFACE);
|
||||
|
||||
if ( m_toto != 0 )
|
||||
{
|
||||
toto = (CMotionToto*)m_toto->RetMotion();
|
||||
toto = (CMotionToto*)m_toto->GetMotion();
|
||||
if ( toto != 0 )
|
||||
{
|
||||
toto->StopDisplayInfo();
|
||||
|
@ -875,13 +879,13 @@ void CDisplayInfo::StopDisplayInfo()
|
|||
|
||||
void CDisplayInfo::SetPosition(int pos)
|
||||
{
|
||||
CWindow* pw;
|
||||
CEdit* edit;
|
||||
Ui::CWindow* pw;
|
||||
Ui::CEdit* edit;
|
||||
|
||||
pw = (CWindow*)m_interface->SearchControl(EVENT_WINDOW4);
|
||||
pw = static_cast<Ui::CWindow*>(m_interface->SearchControl(EVENT_WINDOW4));
|
||||
if ( pw == 0 ) return;
|
||||
|
||||
edit = (CEdit*)pw->SearchControl(EVENT_EDIT1);
|
||||
edit = static_cast<Ui::CEdit*>(pw->SearchControl(EVENT_EDIT1));
|
||||
if ( edit == 0 ) return;
|
||||
|
||||
edit->SetFirstLine(pos);
|
||||
|
@ -889,18 +893,18 @@ void CDisplayInfo::SetPosition(int pos)
|
|||
|
||||
// Returns the position.
|
||||
|
||||
int CDisplayInfo::RetPosition()
|
||||
int CDisplayInfo::GetPosition()
|
||||
{
|
||||
CWindow* pw;
|
||||
CEdit* edit;
|
||||
Ui::CWindow* pw;
|
||||
Ui::CEdit* edit;
|
||||
|
||||
pw = (CWindow*)m_interface->SearchControl(EVENT_WINDOW4);
|
||||
pw = static_cast<Ui::CWindow*>(m_interface->SearchControl(EVENT_WINDOW4));
|
||||
if ( pw == 0 ) return 0;
|
||||
|
||||
edit = (CEdit*)pw->SearchControl(EVENT_EDIT1);
|
||||
edit = static_cast<Ui::CEdit*>(pw->SearchControl(EVENT_EDIT1));
|
||||
if ( edit == 0 ) return 0;
|
||||
|
||||
return edit->RetFirstLine();
|
||||
return edit->GetFirstLine();
|
||||
}
|
||||
|
||||
|
||||
|
@ -909,18 +913,18 @@ int CDisplayInfo::RetPosition()
|
|||
|
||||
void CDisplayInfo::ViewDisplayInfo()
|
||||
{
|
||||
CWindow* pw;
|
||||
CEdit* edit;
|
||||
POINT dim;
|
||||
Ui::CWindow* pw;
|
||||
Ui::CEdit* edit;
|
||||
Math::Point dim;
|
||||
|
||||
pw = (CWindow*)m_interface->SearchControl(EVENT_WINDOW4);
|
||||
pw = static_cast<Ui::CWindow*>(m_interface->SearchControl(EVENT_WINDOW4));
|
||||
if ( pw == 0 ) return;
|
||||
|
||||
edit = (CEdit*)pw->SearchControl(EVENT_EDIT1);
|
||||
edit = static_cast<Ui::CEdit*>(pw->SearchControl(EVENT_EDIT1));
|
||||
if ( edit == 0 ) return;
|
||||
|
||||
dim = m_engine->RetDim();
|
||||
edit->SetFontSize(m_main->RetFontSize()/(dim.x/640.0f));
|
||||
dim = m_engine->GetDim();
|
||||
edit->SetFontSize(m_main->GetFontSize()/(dim.x / 640.0f));
|
||||
}
|
||||
|
||||
// Returns the object human.
|
||||
|
@ -936,7 +940,7 @@ CObject* CDisplayInfo::SearchToto()
|
|||
pObj = (CObject*)m_iMan->SearchInstance(CLASS_OBJECT, i);
|
||||
if ( pObj == 0 ) break;
|
||||
|
||||
type = pObj->RetType();
|
||||
type = pObj->GetType();
|
||||
if ( type == OBJECT_TOTO )
|
||||
{
|
||||
return pObj;
|
||||
|
@ -995,7 +999,7 @@ void ObjectWrite(FILE* file, ObjectList list[], int i)
|
|||
strcat(line, res);
|
||||
|
||||
strcat(line, "\\u ");
|
||||
p = RetHelpFilename(list[i].type);
|
||||
p = GetHelpFilename(list[i].type);
|
||||
if ( p[0] == 0 ) return;
|
||||
strcat(line, p+5); // skip "help\"
|
||||
p = strstr(line, ".txt");
|
||||
|
@ -1026,11 +1030,11 @@ void CDisplayInfo::CreateObjectsFile()
|
|||
pObj = (CObject*)m_iMan->SearchInstance(CLASS_OBJECT, i);
|
||||
if ( pObj == 0 ) break;
|
||||
|
||||
if ( !pObj->RetActif() ) continue;
|
||||
if ( !pObj->RetSelectable() ) continue;
|
||||
if ( pObj->RetProxyActivate() ) continue;
|
||||
if ( !pObj->GetActif() ) continue;
|
||||
if ( !pObj->GetSelectable() ) continue;
|
||||
if ( pObj->GetProxyActivate() ) continue;
|
||||
|
||||
type = pObj->RetType();
|
||||
type = pObj->GetType();
|
||||
if ( type == OBJECT_NULL ) continue;
|
||||
if ( type == OBJECT_FIX ) continue;
|
||||
|
||||
|
@ -1217,3 +1221,4 @@ void CDisplayInfo::CreateObjectsFile()
|
|||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
// * This file is part of the COLOBOT source code
|
||||
// * Copyright (C) 2001-2008, Daniel ROUX & EPSITEC SA, www.epsitec.ch
|
||||
// * Copyright (C) 2012, Polish Portal of Colobot (PPC)
|
||||
// *
|
||||
// * 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
|
||||
|
@ -19,25 +20,37 @@
|
|||
#pragma once
|
||||
|
||||
|
||||
#include "common/struct.h"
|
||||
#include "old/camera.h"
|
||||
//#include "common/struct.h"
|
||||
//#include "graphics/engine/engine.h"
|
||||
//#include "graphics/engine/camera.h"
|
||||
//#include "graphics/engine/particle.h"
|
||||
//#include "old/camera.h"
|
||||
|
||||
|
||||
class CInstanceManager;
|
||||
class CD3DEngine;
|
||||
//class CD3DEngine;
|
||||
class CEvent;
|
||||
class CRobotMain;
|
||||
class CCamera;
|
||||
class CInterface;
|
||||
class CObject;
|
||||
class CParticule;
|
||||
class CLight;
|
||||
//class CCamera;
|
||||
|
||||
class CObject;
|
||||
//class CLight;
|
||||
|
||||
namespace Gfx {
|
||||
class CEngine;
|
||||
class Camera;
|
||||
class Particle;
|
||||
class CLight;
|
||||
}
|
||||
|
||||
namespace Ui {
|
||||
class CInterface;
|
||||
|
||||
class CDisplayInfo
|
||||
{
|
||||
public:
|
||||
CDisplayInfo(CInstanceManager* iMan);
|
||||
// CDisplayInfo(CInstanceManager* iMan);
|
||||
CDisplayInfo();
|
||||
~CDisplayInfo();
|
||||
|
||||
bool EventProcess(const Event &event);
|
||||
|
@ -46,7 +59,7 @@ public:
|
|||
void StopDisplayInfo();
|
||||
|
||||
void SetPosition(int pos);
|
||||
int RetPosition();
|
||||
int GetPosition();
|
||||
|
||||
protected:
|
||||
bool EventFrame(const Event &event);
|
||||
|
@ -61,19 +74,19 @@ protected:
|
|||
|
||||
protected:
|
||||
CInstanceManager* m_iMan;
|
||||
CD3DEngine* m_engine;
|
||||
CEvent* m_event;
|
||||
Gfx::CEngine* m_engine;
|
||||
CEventQueue* m_event;
|
||||
CRobotMain* m_main;
|
||||
CCamera* m_camera;
|
||||
Gfx::CCamera* m_camera;
|
||||
CInterface* m_interface;
|
||||
CParticule* m_particule;
|
||||
CLight* m_light;
|
||||
Gfx::CParticle* m_particle;
|
||||
Gfx::CLight* m_light;
|
||||
|
||||
bool m_bInfoMaximized;
|
||||
bool m_bInfoMinimized;
|
||||
|
||||
int m_index;
|
||||
CameraType m_infoCamera;
|
||||
Gfx::CameraType m_infoCamera;
|
||||
Math::Point m_infoNormalPos;
|
||||
Math::Point m_infoNormalDim;
|
||||
Math::Point m_infoActualPos;
|
||||
|
@ -88,3 +101,4 @@ protected:
|
|||
};
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
// * This file is part of the COLOBOT source code
|
||||
// * Copyright (C) 2001-2008, Daniel ROUX & EPSITEC SA, www.epsitec.ch
|
||||
// * Copyright (C) 2012, Polish Portal of Colobot (PPC)
|
||||
// *
|
||||
// * 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
|
||||
|
@ -17,12 +18,13 @@
|
|||
// displaytext.cpp
|
||||
|
||||
|
||||
#include <windows.h>
|
||||
#include <stdio.h>
|
||||
#include <d3d.h>
|
||||
//#include <windows.h>
|
||||
//#include <stdio.h>
|
||||
//#include <d3d.h>
|
||||
|
||||
#include "common/struct.h"
|
||||
#include "old/d3dengine.h"
|
||||
//#include "common/struct.h"
|
||||
//#include "old/d3dengine.h"
|
||||
#include "graphics/engine/engine.h"
|
||||
#include "common/event.h"
|
||||
#include "common/misc.h"
|
||||
#include "common/restext.h"
|
||||
|
@ -35,28 +37,31 @@
|
|||
#include "ui/label.h"
|
||||
#include "ui/window.h"
|
||||
#include "ui/group.h"
|
||||
#include "old/text.h"
|
||||
#include "old/sound.h"
|
||||
//#include "old/text.h"
|
||||
//#include "old/sound.h"
|
||||
//#include "sound/sound.h"
|
||||
#include "ui/displaytext.h"
|
||||
|
||||
|
||||
|
||||
namespace Ui {
|
||||
const float FONTSIZE = 12.0f;
|
||||
|
||||
|
||||
|
||||
// Object's constructor.
|
||||
|
||||
CDisplayText::CDisplayText(CInstanceManager* iMan)
|
||||
//CDisplayText::CDisplayText(CInstanceManager* iMan)
|
||||
CDisplayText::CDisplayText()
|
||||
{
|
||||
int i;
|
||||
|
||||
m_iMan = iMan;
|
||||
// m_iMan = iMan;
|
||||
m_iMan = CInstanceManager::GetInstancePointer();
|
||||
m_iMan->AddInstance(CLASS_DISPLAYTEXT, this);
|
||||
|
||||
m_engine = (CD3DEngine*)m_iMan->SearchInstance(CLASS_ENGINE);
|
||||
m_engine = (Gfx::CEngine*)m_iMan->SearchInstance(CLASS_ENGINE);
|
||||
m_interface = (CInterface*)m_iMan->SearchInstance(CLASS_INTERFACE);
|
||||
m_sound = (CSound*)m_iMan->SearchInstance(CLASS_SOUND);
|
||||
m_sound = (CSoundInterface*)m_iMan->SearchInstance(CLASS_SOUND);
|
||||
|
||||
for ( i=0 ; i<MAXDTLINE ; i++ )
|
||||
{
|
||||
|
@ -94,9 +99,9 @@ bool CDisplayText::EventProcess(const Event &event)
|
|||
{
|
||||
int i;
|
||||
|
||||
if ( m_engine->RetPause() ) return true;
|
||||
if ( m_engine->GetPause() ) return true;
|
||||
|
||||
if ( event.event == EVENT_FRAME )
|
||||
if ( event.type == EVENT_FRAME )
|
||||
{
|
||||
for ( i=0 ; i<MAXDTLINE ; i++ )
|
||||
{
|
||||
|
@ -124,9 +129,9 @@ void CDisplayText::DisplayError(Error err, CObject* pObj, float time)
|
|||
|
||||
if ( pObj == 0 ) return;
|
||||
|
||||
pos = pObj->RetPosition(0);
|
||||
h = RetIdealHeight(pObj);
|
||||
d = RetIdealDist(pObj);
|
||||
pos = pObj->GetPosition(0);
|
||||
h = GetIdealHeight(pObj);
|
||||
d = GetIdealDist(pObj);
|
||||
DisplayError(err, pos, h, d, time);
|
||||
}
|
||||
|
||||
|
@ -186,9 +191,9 @@ void CDisplayText::DisplayText(char *text, CObject* pObj,
|
|||
|
||||
if ( pObj == 0 ) return;
|
||||
|
||||
pos = pObj->RetPosition(0);
|
||||
h = RetIdealHeight(pObj);
|
||||
d = RetIdealDist(pObj);
|
||||
pos = pObj->GetPosition(0);
|
||||
h = GetIdealHeight(pObj);
|
||||
d = GetIdealDist(pObj);
|
||||
DisplayText(text, pos, h, d, time, type);
|
||||
}
|
||||
|
||||
|
@ -199,10 +204,10 @@ void CDisplayText::DisplayText(char *text, Math::Vector goal, float height,
|
|||
{
|
||||
CObject* toto;
|
||||
CMotion* motion;
|
||||
CWindow* pw;
|
||||
CButton* button;
|
||||
CGroup* group;
|
||||
CLabel* label;
|
||||
Ui::CWindow* pw;
|
||||
Ui::CButton* button;
|
||||
Ui::CGroup* group;
|
||||
Ui::CLabel* label;
|
||||
Math::Point pos, ppos, dim;
|
||||
Sound sound;
|
||||
float hLine, hBox;
|
||||
|
@ -210,7 +215,7 @@ void CDisplayText::DisplayText(char *text, Math::Vector goal, float height,
|
|||
|
||||
if ( !m_bEnable ) return;
|
||||
|
||||
pw = (CWindow*)m_interface->SearchControl(EVENT_WINDOW2);
|
||||
pw = static_cast<CWindow*>(m_interface->SearchControl(EVENT_WINDOW2));
|
||||
if ( pw == 0 )
|
||||
{
|
||||
pos.x = 0.0f;
|
||||
|
@ -221,12 +226,12 @@ void CDisplayText::DisplayText(char *text, Math::Vector goal, float height,
|
|||
}
|
||||
|
||||
hBox = 0.045f;
|
||||
hLine = m_engine->RetText()->RetHeight(FONTSIZE, FONT_COLOBOT);
|
||||
hLine = m_engine->GetText()->GetHeight(Gfx::FONT_COLOBOT, FONTSIZE);
|
||||
|
||||
nLine = 0;
|
||||
for ( i=0 ; i<MAXDTLINE ; i++ )
|
||||
{
|
||||
group = (CGroup*)pw->SearchControl(EventMsg(EVENT_DT_GROUP0+i));
|
||||
group = static_cast<CGroup*>(pw->SearchControl(EventType(EVENT_DT_GROUP0+i)));
|
||||
if ( group == 0 ) break;
|
||||
nLine ++;
|
||||
}
|
||||
|
@ -247,13 +252,13 @@ void CDisplayText::DisplayText(char *text, Math::Vector goal, float height,
|
|||
if ( type == TT_WARNING ) icon = 10; // blue
|
||||
if ( type == TT_INFO ) icon = 8; // green
|
||||
if ( type == TT_MESSAGE ) icon = 11; // yellow
|
||||
pw->CreateGroup(pos, dim, icon, EventMsg(EVENT_DT_GROUP0+nLine));
|
||||
pw->CreateGroup(pos, dim, icon, EventType(EVENT_DT_GROUP0+nLine));
|
||||
|
||||
pw->SetTrashEvent(false);
|
||||
|
||||
ppos = pos;
|
||||
ppos.y -= hLine/2.0f;
|
||||
label = pw->CreateLabel(ppos, dim, -1, EventMsg(EVENT_DT_LABEL0+nLine), text);
|
||||
label = pw->CreateLabel(ppos, dim, -1, EventType(EVENT_DT_LABEL0+nLine), text);
|
||||
if ( label != 0 )
|
||||
{
|
||||
label->SetFontSize(FONTSIZE);
|
||||
|
@ -261,7 +266,7 @@ void CDisplayText::DisplayText(char *text, Math::Vector goal, float height,
|
|||
|
||||
dim.x = dim.y*0.75f;
|
||||
pos.x -= dim.x;
|
||||
button = pw->CreateButton(pos, dim, 14, EventMsg(EVENT_DT_VISIT0+nLine));
|
||||
button = pw->CreateButton(pos, dim, 14, EventType(EVENT_DT_VISIT0+nLine));
|
||||
|
||||
if ( goal.x == 0.0f &&
|
||||
goal.y == 0.0f &&
|
||||
|
@ -279,7 +284,7 @@ void CDisplayText::DisplayText(char *text, Math::Vector goal, float height,
|
|||
toto = SearchToto();
|
||||
if ( toto != 0 )
|
||||
{
|
||||
motion = toto->RetMotion();
|
||||
motion = toto->GetMotion();
|
||||
if ( motion != 0 )
|
||||
{
|
||||
if ( type == TT_ERROR )
|
||||
|
@ -324,18 +329,18 @@ void CDisplayText::DisplayText(char *text, Math::Vector goal, float height,
|
|||
|
||||
void CDisplayText::ClearText()
|
||||
{
|
||||
CWindow* pw;
|
||||
Ui::CWindow* pw;
|
||||
int i;
|
||||
|
||||
pw = (CWindow*)m_interface->SearchControl(EVENT_WINDOW2);
|
||||
pw = static_cast<Ui::CWindow*>(m_interface->SearchControl(EVENT_WINDOW2));
|
||||
|
||||
for ( i=0 ; i<MAXDTLINE ; i++ )
|
||||
{
|
||||
if ( pw != 0 )
|
||||
{
|
||||
pw->DeleteControl(EventMsg(EVENT_DT_GROUP0+i));
|
||||
pw->DeleteControl(EventMsg(EVENT_DT_LABEL0+i));
|
||||
pw->DeleteControl(EventMsg(EVENT_DT_VISIT0+i));
|
||||
pw->DeleteControl(EventType(EVENT_DT_GROUP0+i));
|
||||
pw->DeleteControl(EventType(EVENT_DT_LABEL0+i));
|
||||
pw->DeleteControl(EventType(EVENT_DT_VISIT0+i));
|
||||
}
|
||||
m_bExist[i] = false;
|
||||
m_visitGoal[i] = Math::Vector(0.0f, 0.0f, 0.0f);
|
||||
|
@ -349,32 +354,32 @@ void CDisplayText::ClearText()
|
|||
|
||||
void CDisplayText::HideText(bool bHide)
|
||||
{
|
||||
CWindow* pw;
|
||||
CGroup* pg;
|
||||
CLabel* pl;
|
||||
CButton* pb;
|
||||
Ui::CWindow* pw;
|
||||
Ui::CGroup* pg;
|
||||
Ui::CLabel* pl;
|
||||
Ui::CButton* pb;
|
||||
int i;
|
||||
|
||||
m_bHide = bHide;
|
||||
|
||||
pw = (CWindow*)m_interface->SearchControl(EVENT_WINDOW2);
|
||||
pw = static_cast<Ui::CWindow*>(m_interface->SearchControl(EVENT_WINDOW2));
|
||||
if ( pw == 0 ) return;
|
||||
|
||||
for ( i=0 ; i<MAXDTLINE ; i++ )
|
||||
{
|
||||
pg = (CGroup*)pw->SearchControl(EventMsg(EVENT_DT_GROUP0+i));
|
||||
pg = static_cast<Ui::CGroup*>(pw->SearchControl(EventType(EVENT_DT_GROUP0+i)));
|
||||
if ( pg != 0 )
|
||||
{
|
||||
pg->SetState(STATE_VISIBLE, !bHide);
|
||||
}
|
||||
|
||||
pl = (CLabel* )pw->SearchControl(EventMsg(EVENT_DT_LABEL0+i));
|
||||
pl = static_cast<Ui::CLabel*>(pw->SearchControl(EventType(EVENT_DT_LABEL0+i)));
|
||||
if ( pl != 0 )
|
||||
{
|
||||
pl->SetState(STATE_VISIBLE, !bHide);
|
||||
}
|
||||
|
||||
pb = (CButton*)pw->SearchControl(EventMsg(EVENT_DT_VISIT0+i));
|
||||
pb = static_cast<CButton*>(pw->SearchControl(EventType(EVENT_DT_VISIT0+i)));
|
||||
if ( pb != 0 )
|
||||
{
|
||||
pb->SetState(STATE_VISIBLE, !bHide);
|
||||
|
@ -386,20 +391,20 @@ void CDisplayText::HideText(bool bHide)
|
|||
|
||||
bool CDisplayText::ClearLastText()
|
||||
{
|
||||
CWindow *pw;
|
||||
CButton *pb1, *pb2;
|
||||
CGroup *pg1, *pg2;
|
||||
CLabel *pl1, *pl2;
|
||||
Ui::CWindow *pw;
|
||||
Ui::CButton *pb1, *pb2;
|
||||
Ui::CGroup *pg1, *pg2;
|
||||
Ui::CLabel *pl1, *pl2;
|
||||
int i;
|
||||
|
||||
pw = (CWindow*)m_interface->SearchControl(EVENT_WINDOW2);
|
||||
pw = static_cast<CWindow*>(m_interface->SearchControl(EVENT_WINDOW2));
|
||||
if ( pw == 0 ) return false;
|
||||
|
||||
pb2 = (CButton*)pw->SearchControl(EVENT_DT_VISIT0);
|
||||
pb2 = static_cast<CButton*>(pw->SearchControl(EVENT_DT_VISIT0));
|
||||
if ( pb2 == 0 ) return false; // same not of first-line
|
||||
pg2 = (CGroup*)pw->SearchControl(EVENT_DT_GROUP0);
|
||||
pg2 = static_cast<CGroup*>(pw->SearchControl(EVENT_DT_GROUP0));
|
||||
if ( pg2 == 0 ) return false;
|
||||
pl2 = (CLabel*)pw->SearchControl(EVENT_DT_LABEL0);
|
||||
pl2 = static_cast<CLabel*>(pw->SearchControl(EVENT_DT_LABEL0));
|
||||
if ( pl2 == 0 ) return false;
|
||||
|
||||
for ( i=0 ; i<MAXDTLINE-1 ; i++ )
|
||||
|
@ -408,18 +413,18 @@ bool CDisplayText::ClearLastText()
|
|||
pg1 = pg2;
|
||||
pl1 = pl2;
|
||||
|
||||
pb2 = (CButton*)pw->SearchControl(EventMsg(EVENT_DT_VISIT0+i+1));
|
||||
pb2 = static_cast<CButton*>(pw->SearchControl(EventType(EVENT_DT_VISIT0+i+1)));
|
||||
if ( pb2 == 0 ) break;
|
||||
|
||||
pg2 = (CGroup*)pw->SearchControl(EventMsg(EVENT_DT_GROUP0+i+1));
|
||||
pg2 = static_cast<CGroup*>(pw->SearchControl(EventType(EVENT_DT_GROUP0+i+1)));
|
||||
if ( pg2 == 0 ) break;
|
||||
|
||||
pl2 = (CLabel*)pw->SearchControl(EventMsg(EVENT_DT_LABEL0+i+1));
|
||||
pl2 = static_cast<CLabel*>(pw->SearchControl(EventType(EVENT_DT_LABEL0+i+1)));
|
||||
if ( pl2 == 0 ) break;
|
||||
|
||||
pb1->SetState(STATE_ENABLE, pb2->TestState(STATE_ENABLE));
|
||||
pg1->SetIcon(pg2->RetIcon());
|
||||
pl1->SetName(pl2->RetName());
|
||||
pg1->SetIcon(pg2->GetIcon());
|
||||
pl1->SetName(pl2->GetName());
|
||||
|
||||
m_time[i] = m_time[i+1];
|
||||
m_visitGoal[i] = m_visitGoal[i+1];
|
||||
|
@ -427,9 +432,9 @@ bool CDisplayText::ClearLastText()
|
|||
m_visitHeight[i] = m_visitHeight[i+1]; // shift
|
||||
}
|
||||
|
||||
pw->DeleteControl(EventMsg(EVENT_DT_VISIT0+i));
|
||||
pw->DeleteControl(EventMsg(EVENT_DT_GROUP0+i));
|
||||
pw->DeleteControl(EventMsg(EVENT_DT_LABEL0+i));
|
||||
pw->DeleteControl(EventType(EVENT_DT_VISIT0+i));
|
||||
pw->DeleteControl(EventType(EVENT_DT_GROUP0+i));
|
||||
pw->DeleteControl(EventType(EVENT_DT_LABEL0+i));
|
||||
m_bExist[i] = false;
|
||||
return true;
|
||||
}
|
||||
|
@ -453,7 +458,7 @@ void CDisplayText::SetEnable(bool bEnable)
|
|||
|
||||
// Returns the goal during a visit.
|
||||
|
||||
Math::Vector CDisplayText::RetVisitGoal(EventMsg event)
|
||||
Math::Vector CDisplayText::GetVisitGoal(EventType event)
|
||||
{
|
||||
int i;
|
||||
|
||||
|
@ -464,7 +469,7 @@ Math::Vector CDisplayText::RetVisitGoal(EventMsg event)
|
|||
|
||||
// Returns the distance during a visit.
|
||||
|
||||
float CDisplayText::RetVisitDist(EventMsg event)
|
||||
float CDisplayText::GetVisitDist(EventType event)
|
||||
{
|
||||
int i;
|
||||
|
||||
|
@ -475,7 +480,7 @@ float CDisplayText::RetVisitDist(EventMsg event)
|
|||
|
||||
// Returns the height on a visit.
|
||||
|
||||
float CDisplayText::RetVisitHeight(EventMsg event)
|
||||
float CDisplayText::GetVisitHeight(EventType event)
|
||||
{
|
||||
int i;
|
||||
|
||||
|
@ -487,13 +492,13 @@ float CDisplayText::RetVisitHeight(EventMsg event)
|
|||
|
||||
// Ranges from ideal visit for a given object.
|
||||
|
||||
float CDisplayText::RetIdealDist(CObject* pObj)
|
||||
float CDisplayText::GetIdealDist(CObject* pObj)
|
||||
{
|
||||
ObjectType type;
|
||||
|
||||
if ( pObj == 0 ) return 40.0f;
|
||||
|
||||
type = pObj->RetType();
|
||||
type = pObj->GetType();
|
||||
if ( type == OBJECT_PORTICO ) return 200.0f;
|
||||
if ( type == OBJECT_BASE ) return 200.0f;
|
||||
if ( type == OBJECT_NUCLEAR ) return 100.0f;
|
||||
|
@ -506,13 +511,13 @@ float CDisplayText::RetIdealDist(CObject* pObj)
|
|||
|
||||
// Returns the height of ideal visit for a given object.
|
||||
|
||||
float CDisplayText::RetIdealHeight(CObject* pObj)
|
||||
float CDisplayText::GetIdealHeight(CObject* pObj)
|
||||
{
|
||||
ObjectType type;
|
||||
|
||||
if ( pObj == 0 ) return 5.0f;
|
||||
|
||||
type = pObj->RetType();
|
||||
type = pObj->GetType();
|
||||
if ( type == OBJECT_DERRICK ) return 35.0f;
|
||||
if ( type == OBJECT_FACTORY ) return 22.0f;
|
||||
if ( type == OBJECT_REPAIR ) return 30.0f;
|
||||
|
@ -537,16 +542,16 @@ float CDisplayText::RetIdealHeight(CObject* pObj)
|
|||
|
||||
void CDisplayText::ClearVisit()
|
||||
{
|
||||
CWindow* pw;
|
||||
CButton* pb;
|
||||
Ui::CWindow* pw;
|
||||
Ui::CButton* pb;
|
||||
int i;
|
||||
|
||||
pw = (CWindow*)m_interface->SearchControl(EVENT_WINDOW2);
|
||||
pw = static_cast<CWindow*>(m_interface->SearchControl(EVENT_WINDOW2));
|
||||
if ( pw == 0 ) return;
|
||||
|
||||
for ( i=0 ; i<MAXDTLINE ; i++ )
|
||||
{
|
||||
pb = (CButton*)pw->SearchControl(EventMsg(EVENT_DT_VISIT0+i));
|
||||
pb = static_cast<CButton*>(pw->SearchControl(EventType(EVENT_DT_VISIT0+i)));
|
||||
if ( pb == 0 ) break;
|
||||
pb->SetIcon(14); // eyes
|
||||
}
|
||||
|
@ -554,38 +559,38 @@ void CDisplayText::ClearVisit()
|
|||
|
||||
// Puts a button in "visit".
|
||||
|
||||
void CDisplayText::SetVisit(EventMsg event)
|
||||
void CDisplayText::SetVisit(EventType event)
|
||||
{
|
||||
CWindow* pw;
|
||||
CButton* pb;
|
||||
Ui::CWindow* pw;
|
||||
Ui::CButton* pb;
|
||||
int i;
|
||||
|
||||
i = event-EVENT_DT_VISIT0;
|
||||
if ( i < 0 || i >= MAXDTLINE ) return;
|
||||
|
||||
pw = (CWindow*)m_interface->SearchControl(EVENT_WINDOW2);
|
||||
pw = static_cast<CWindow*>(m_interface->SearchControl(EVENT_WINDOW2));
|
||||
if ( pw == 0 ) return;
|
||||
pb = (CButton*)pw->SearchControl(EventMsg(EVENT_DT_VISIT0+i));
|
||||
pb = static_cast<CButton*>(pw->SearchControl(EventType(EVENT_DT_VISIT0+i)));
|
||||
if ( pb == 0 ) return;
|
||||
pb->SetIcon(48); // >
|
||||
}
|
||||
|
||||
// Indicates whether a button is set to "visit".
|
||||
|
||||
bool CDisplayText::IsVisit(EventMsg event)
|
||||
bool CDisplayText::IsVisit(EventType event)
|
||||
{
|
||||
CWindow* pw;
|
||||
CButton* pb;
|
||||
Ui::CWindow* pw;
|
||||
Ui::CButton* pb;
|
||||
int i;
|
||||
|
||||
i = event-EVENT_DT_VISIT0;
|
||||
if ( i < 0 || i >= MAXDTLINE ) return false;
|
||||
|
||||
pw = (CWindow*)m_interface->SearchControl(EVENT_WINDOW2);
|
||||
pw = static_cast<CWindow*>(m_interface->SearchControl(EVENT_WINDOW2));
|
||||
if ( pw == 0 ) return false;
|
||||
pb = (CButton*)pw->SearchControl(EventMsg(EVENT_DT_VISIT0+i));
|
||||
pb = static_cast<CButton*>(pw->SearchControl(EventType(EVENT_DT_VISIT0+i)));
|
||||
if ( pb == 0 ) return false;
|
||||
return (pb->RetIcon() == 48); // > ?
|
||||
return (pb->GetIcon() == 48); // > ?
|
||||
}
|
||||
|
||||
|
||||
|
@ -599,10 +604,10 @@ CObject* CDisplayText::SearchToto()
|
|||
|
||||
for ( i=0 ; i<1000000 ; i++ )
|
||||
{
|
||||
pObj = (CObject*)m_iMan->SearchInstance(CLASS_OBJECT, i);
|
||||
pObj = static_cast<CObject*>(m_iMan->SearchInstance(CLASS_OBJECT, i));
|
||||
if ( pObj == 0 ) break;
|
||||
|
||||
type = pObj->RetType();
|
||||
type = pObj->GetType();
|
||||
if ( type == OBJECT_TOTO )
|
||||
{
|
||||
return pObj;
|
||||
|
@ -611,3 +616,4 @@ CObject* CDisplayText::SearchToto()
|
|||
return 0;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
// * This file is part of the COLOBOT source code
|
||||
// * Copyright (C) 2001-2008, Daniel ROUX & EPSITEC SA, www.epsitec.ch
|
||||
// * Copyright (C) 2012, Polish Portal of Colobot (PPC)
|
||||
// *
|
||||
// * 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
|
||||
|
@ -21,15 +22,18 @@
|
|||
|
||||
#include "common/event.h"
|
||||
#include "common/misc.h"
|
||||
#include "old/d3dengine.h"
|
||||
#include "sound/sound.h"
|
||||
//#include "old/d3dengine.h"
|
||||
|
||||
|
||||
class CInstanceManager;
|
||||
class CD3DEngine;
|
||||
class CInterface;
|
||||
//class CD3DEngine
|
||||
class CObject;
|
||||
class CSound;
|
||||
|
||||
namespace Ui {;
|
||||
|
||||
class CInterface;
|
||||
|
||||
enum TextType
|
||||
{
|
||||
|
@ -45,7 +49,8 @@ const int MAXDTLINE = 4;
|
|||
class CDisplayText
|
||||
{
|
||||
public:
|
||||
CDisplayText(CInstanceManager* iMan);
|
||||
// CDisplayText(CInstanceManager* iMan);
|
||||
CDisplayText();
|
||||
~CDisplayText();
|
||||
|
||||
void DeleteObject();
|
||||
|
@ -62,25 +67,25 @@ public:
|
|||
void SetDelay(float factor);
|
||||
void SetEnable(bool bEnable);
|
||||
|
||||
Math::Vector RetVisitGoal(EventMsg event);
|
||||
float RetVisitDist(EventMsg event);
|
||||
float RetVisitHeight(EventMsg event);
|
||||
Math::Vector GetVisitGoal(EventType event);
|
||||
float GetVisitDist(EventType event);
|
||||
float GetVisitHeight(EventType event);
|
||||
|
||||
float RetIdealDist(CObject* pObj);
|
||||
float RetIdealHeight(CObject* pObj);
|
||||
float GetIdealDist(CObject* pObj);
|
||||
float GetIdealHeight(CObject* pObj);
|
||||
|
||||
void ClearVisit();
|
||||
void SetVisit(EventMsg event);
|
||||
bool IsVisit(EventMsg event);
|
||||
void SetVisit(EventType event);
|
||||
bool IsVisit(EventType event);
|
||||
|
||||
protected:
|
||||
CObject* SearchToto();
|
||||
|
||||
protected:
|
||||
CInstanceManager* m_iMan;
|
||||
CD3DEngine* m_engine;
|
||||
CInterface* m_interface;
|
||||
CSound* m_sound;
|
||||
Gfx::CEngine* m_engine;
|
||||
Ui::CInterface* m_interface;
|
||||
CSoundInterface* m_sound;
|
||||
|
||||
bool m_bExist[MAXDTLINE];
|
||||
float m_time[MAXDTLINE];
|
||||
|
@ -94,3 +99,4 @@ protected:
|
|||
};
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
// * This file is part of the COLOBOT source code
|
||||
// * Copyright (C) 2001-2008, Daniel ROUX & EPSITEC SA, www.epsitec.ch
|
||||
// * Copyright (C) 2012, Polish Portal of Colobot (PPC)
|
||||
// *
|
||||
// * 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
|
||||
|
@ -18,11 +19,12 @@
|
|||
|
||||
|
||||
//#include <windows.h>
|
||||
#include <stdio.h>
|
||||
//#include <stdio.h>
|
||||
//#include <d3d.h>
|
||||
|
||||
//#include "common/struct.h"
|
||||
//#include "old/d3dengine.h"
|
||||
#include "graphics/engine/engine.h"
|
||||
//#include "old/math3d.h"
|
||||
#include "common/event.h"
|
||||
#include "common/misc.h"
|
||||
|
@ -31,10 +33,11 @@
|
|||
|
||||
|
||||
|
||||
|
||||
namespace Ui {
|
||||
// Object's constructor.
|
||||
|
||||
CGauge::CGauge(CInstanceManager* iMan) : CControl(iMan)
|
||||
//CGauge::CGauge(CInstanceManager* iMan) : CControl(iMan)
|
||||
CGauge::CGauge() : CControl()
|
||||
{
|
||||
m_level = 0.0f;
|
||||
}
|
||||
|
@ -95,40 +98,40 @@ void CGauge::Draw()
|
|||
pos = m_pos;
|
||||
dim = m_dim;
|
||||
|
||||
uv1.x = 32.0f/256.0f;
|
||||
uv1.y = 32.0f/256.0f;
|
||||
uv2.x = 64.0f/256.0f;
|
||||
uv2.y = 64.0f/256.0f;
|
||||
uv1.x = 32.0f / 256.0f;
|
||||
uv1.y = 32.0f / 256.0f;
|
||||
uv2.x = 64.0f / 256.0f;
|
||||
uv2.y = 64.0f / 256.0f;
|
||||
|
||||
uv1.x += dp;
|
||||
uv1.y += dp;
|
||||
uv2.x -= dp;
|
||||
uv2.y -= dp;
|
||||
|
||||
corner.x = 10.0f/640.0f;
|
||||
corner.y = 10.0f/480.0f;
|
||||
corner.x = 10.0f / 640.0f;
|
||||
corner.y = 10.0f / 480.0f;
|
||||
|
||||
DrawIcon(pos, dim, uv1, uv2, corner, 8.0f/256.0f);
|
||||
|
||||
|
||||
pos.x += 3.0f/640.0f;
|
||||
pos.y += 3.0f/480.0f;
|
||||
dim.x -= 6.0f/640.0f;
|
||||
dim.y -= 6.0f/480.0f;
|
||||
pos.x += 3.0f / 640.0f;
|
||||
pos.y += 3.0f / 480.0f;
|
||||
dim.x -= 6.0f / 640.0f;
|
||||
dim.y -= 6.0f / 480.0f;
|
||||
|
||||
if ( m_dim.x < m_dim.y ) // vertical gauge?
|
||||
{
|
||||
uv1.x = (0.0f+m_icon*16.0f)/256.0f;
|
||||
uv2.x = uv1.x+16.0f/256.0f;
|
||||
uv1.y = 128.0f/256.0f+m_level*(64.0f/256.0f);
|
||||
uv2.y = uv1.y+64.0f/256.0f;
|
||||
uv1.x = (0.0f + m_icon * 16.0f) / 256.0f;
|
||||
uv2.x = uv1.x + 16.0f / 256.0f;
|
||||
uv1.y = 128.0f/256.0f + m_level * (64.0f/256.0f);
|
||||
uv2.y = uv1.y + 64.0f/256.0f;
|
||||
}
|
||||
else // horizontal gauge?
|
||||
{
|
||||
uv1.x = 64.0f/256.0f+(1.0f-m_level)*(64.0f/256.0f);
|
||||
uv2.x = uv1.x+64.0f/256.0f;
|
||||
uv1.y = (128.0f+m_icon*16.0f)/256.0f;
|
||||
uv2.y = uv1.y+16.0f/256.0f;
|
||||
uv1.x = 64.0f/256.0f + (1.0f - m_level) * (64.0f/256.0f);
|
||||
uv2.x = uv1.x + 64.0f/256.0f;
|
||||
uv1.y = (128.0f + m_icon*16.0f) / 256.0f;
|
||||
uv2.y = uv1.y + 16.0f/256.0f;
|
||||
}
|
||||
|
||||
uv1.x += dp;
|
||||
|
@ -155,3 +158,4 @@ float CGauge::GetLevel()
|
|||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
// * This file is part of the COLOBOT source code
|
||||
// * Copyright (C) 2001-2008, Daniel ROUX & EPSITEC SA, www.epsitec.ch
|
||||
// * Copyright (C) 2012, Polish Portal of Colobot (PPC)
|
||||
// *
|
||||
// * 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
|
||||
|
@ -21,15 +22,17 @@
|
|||
|
||||
#include "ui/control.h"
|
||||
|
||||
namespace Gfx{
|
||||
class CEngine;
|
||||
};
|
||||
|
||||
//class CD3DEngine;
|
||||
|
||||
|
||||
namespace Ui {
|
||||
|
||||
class CGauge : public CControl
|
||||
{
|
||||
public:
|
||||
CGauge(CInstanceManager* iMan);
|
||||
// CGauge(CInstanceManager* iMan);
|
||||
CGauge();
|
||||
virtual ~CGauge();
|
||||
|
||||
bool Create(Math::Point pos, Math::Point dim, int icon, EventType eventType);
|
||||
|
@ -48,3 +51,4 @@ protected:
|
|||
};
|
||||
|
||||
|
||||
}
|
||||
|
|
334
src/ui/group.cpp
334
src/ui/group.cpp
|
@ -33,10 +33,11 @@
|
|||
|
||||
|
||||
|
||||
|
||||
namespace Ui {
|
||||
// Object's constructor.
|
||||
|
||||
CGroup::CGroup(CInstanceManager* iMan) : CControl(iMan)
|
||||
//CGroup::CGroup(CInstanceManager* iMan) : CControl(iMan)
|
||||
CGroup::CGroup() : CControl()
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -93,16 +94,16 @@ void CGroup::Draw()
|
|||
DrawShadow(m_pos, m_dim);
|
||||
}
|
||||
|
||||
dp = 0.5f/256.0f;
|
||||
dp = 0.5f / 256.0f;
|
||||
|
||||
if ( m_icon == 0 ) // hollow frame?
|
||||
{
|
||||
m_engine->SetTexture("button2.tga");
|
||||
m_engine->SetState(Gfx::ENG_RSTATE_NORMAL);
|
||||
uv1.x = 160.0f/256.0f;
|
||||
uv1.y = 192.0f/256.0f; // u-v texture
|
||||
uv2.x = 192.0f/256.0f;
|
||||
uv2.y = 224.0f/256.0f;
|
||||
uv1.x = 160.0f / 256.0f;
|
||||
uv1.y = 192.0f / 256.0f; // u-v texture
|
||||
uv2.x = 192.0f / 256.0f;
|
||||
uv2.y = 224.0f / 256.0f;
|
||||
uv1.x += dp;
|
||||
uv1.y += dp;
|
||||
uv2.x -= dp;
|
||||
|
@ -115,10 +116,10 @@ void CGroup::Draw()
|
|||
{
|
||||
m_engine->SetTexture("button2.tga");
|
||||
m_engine->SetState(Gfx::ENG_RSTATE_NORMAL);
|
||||
uv1.x = 104.0f/256.0f;
|
||||
uv1.y = 48.0f/256.0f;
|
||||
uv2.x = 112.0f/256.0f;
|
||||
uv2.y = 64.0f/256.0f;
|
||||
uv1.x = 104.0f / 256.0f;
|
||||
uv1.y = 48.0f / 256.0f;
|
||||
uv2.x = 112.0f / 256.0f;
|
||||
uv2.y = 64.0f / 256.0f;
|
||||
uv1.x += dp;
|
||||
uv1.y += dp;
|
||||
uv2.x -= dp;
|
||||
|
@ -129,10 +130,10 @@ void CGroup::Draw()
|
|||
{
|
||||
m_engine->SetTexture("button2.tga");
|
||||
m_engine->SetState(Gfx::ENG_RSTATE_TTEXTURE_WHITE);
|
||||
uv1.x = 112.0f/256.0f;
|
||||
uv1.y = 48.0f/256.0f;
|
||||
uv2.x = 120.0f/256.0f;
|
||||
uv2.y = 64.0f/256.0f;
|
||||
uv1.x = 112.0f / 256.0f;
|
||||
uv1.y = 48.0f / 256.0f;
|
||||
uv2.x = 120.0f / 256.0f;
|
||||
uv2.y = 64.0f / 256.0f;
|
||||
uv1.x += dp;
|
||||
uv1.y += dp;
|
||||
uv2.x -= dp;
|
||||
|
@ -143,10 +144,10 @@ void CGroup::Draw()
|
|||
{
|
||||
m_engine->SetTexture("button2.tga");
|
||||
m_engine->SetState(Gfx::ENG_RSTATE_TTEXTURE_WHITE);
|
||||
uv1.x = 120.0f/256.0f;
|
||||
uv1.y = 48.0f/256.0f;
|
||||
uv2.x = 128.0f/256.0f;
|
||||
uv2.y = 64.0f/256.0f;
|
||||
uv1.x = 120.0f / 256.0f;
|
||||
uv1.y = 48.0f / 256.0f;
|
||||
uv2.x = 128.0f / 256.0f;
|
||||
uv2.y = 64.0f / 256.0f;
|
||||
uv1.x += dp;
|
||||
uv1.y += dp;
|
||||
uv2.x -= dp;
|
||||
|
@ -157,10 +158,10 @@ void CGroup::Draw()
|
|||
{
|
||||
m_engine->SetTexture("button2.tga");
|
||||
m_engine->SetState(Gfx::ENG_RSTATE_TTEXTURE_WHITE);
|
||||
uv1.x = 192.0f/256.0f;
|
||||
uv1.y = 128.0f/256.0f;
|
||||
uv2.x = 224.0f/256.0f;
|
||||
uv2.y = 160.0f/256.0f;
|
||||
uv1.x = 192.0f / 256.0f;
|
||||
uv1.y = 128.0f / 256.0f;
|
||||
uv2.x = 224.0f / 256.0f;
|
||||
uv2.y = 160.0f / 256.0f;
|
||||
uv1.x += dp;
|
||||
uv1.y += dp;
|
||||
uv2.x -= dp;
|
||||
|
@ -171,10 +172,10 @@ void CGroup::Draw()
|
|||
{
|
||||
m_engine->SetTexture("button2.tga");
|
||||
m_engine->SetState(Gfx::ENG_RSTATE_TTEXTURE_WHITE);
|
||||
uv1.x = 224.0f/256.0f;
|
||||
uv1.y = 128.0f/256.0f;
|
||||
uv2.x = 256.0f/256.0f;
|
||||
uv2.y = 160.0f/256.0f;
|
||||
uv1.x = 224.0f / 256.0f;
|
||||
uv1.y = 128.0f / 256.0f;
|
||||
uv2.x = 256.0f / 256.0f;
|
||||
uv2.y = 160.0f / 256.0f;
|
||||
uv1.x += dp;
|
||||
uv1.y += dp;
|
||||
uv2.x -= dp;
|
||||
|
@ -185,26 +186,26 @@ void CGroup::Draw()
|
|||
{
|
||||
m_engine->SetTexture("button2.tga");
|
||||
m_engine->SetState(Gfx::ENG_RSTATE_TTEXTURE_BLACK);
|
||||
uv1.x = 0.0f/256.0f; // brown transparent
|
||||
uv1.y = 75.0f/256.0f;
|
||||
uv2.x = 64.0f/256.0f;
|
||||
uv2.y = 128.0f/256.0f;
|
||||
uv1.x = 0.0f / 256.0f; // brown transparent
|
||||
uv1.y = 75.0f / 256.0f;
|
||||
uv2.x = 64.0f / 256.0f;
|
||||
uv2.y = 128.0f / 256.0f;
|
||||
uv1.x += dp;
|
||||
uv1.y += dp;
|
||||
uv2.x -= dp;
|
||||
uv2.y -= dp;
|
||||
corner.x = 4.0f/640.0f;
|
||||
corner.y = 4.0f/480.0f;
|
||||
corner.x = 4.0f / 640.0f;
|
||||
corner.y = 4.0f / 480.0f;
|
||||
DrawIcon(m_pos, m_dim, uv1, uv2, corner, 8.0f/256.0f);
|
||||
}
|
||||
if ( m_icon == 7 )
|
||||
{
|
||||
m_engine->SetTexture("button1.tga");
|
||||
m_engine->SetState(Gfx::ENG_RSTATE_NORMAL);
|
||||
uv1.x = 64.0f/256.0f;
|
||||
uv1.y = 0.0f/256.0f;
|
||||
uv2.x = 96.0f/256.0f;
|
||||
uv2.y = 32.0f/256.0f;
|
||||
uv1.x = 64.0f / 256.0f;
|
||||
uv1.y = 0.0f / 256.0f;
|
||||
uv2.x = 96.0f / 256.0f;
|
||||
uv2.y = 32.0f / 256.0f;
|
||||
uv1.x += dp;
|
||||
uv1.y += dp;
|
||||
uv2.x -= dp;
|
||||
|
@ -215,10 +216,10 @@ void CGroup::Draw()
|
|||
{
|
||||
m_engine->SetTexture("button2.tga");
|
||||
m_engine->SetState(Gfx::ENG_RSTATE_TTEXTURE_BLACK);
|
||||
uv1.x = 64.0f/256.0f; // green transparent
|
||||
uv1.y = 160.0f/256.0f;
|
||||
uv2.x = 160.0f/256.0f;
|
||||
uv2.y = 176.0f/256.0f;
|
||||
uv1.x = 64.0f / 256.0f; // green transparent
|
||||
uv1.y = 160.0f / 256.0f;
|
||||
uv2.x = 160.0f / 256.0f;
|
||||
uv2.y = 176.0f / 256.0f;
|
||||
uv1.x += dp;
|
||||
uv1.y += dp;
|
||||
uv2.x -= dp;
|
||||
|
@ -229,7 +230,7 @@ void CGroup::Draw()
|
|||
{
|
||||
m_engine->SetTexture("button2.tga");
|
||||
m_engine->SetState(Gfx::ENG_RSTATE_TTEXTURE_BLACK);
|
||||
uv1.x = 64.0f/256.0f; // red transparent
|
||||
uv1.x = 64.0f / 256.0f; // red transparent
|
||||
uv1.y = 176.0f/256.0f;
|
||||
uv2.x = 160.0f/256.0f;
|
||||
uv2.y = 192.0f/256.0f;
|
||||
|
@ -243,10 +244,10 @@ void CGroup::Draw()
|
|||
{
|
||||
m_engine->SetTexture("button2.tga");
|
||||
m_engine->SetState(Gfx::ENG_RSTATE_TTEXTURE_BLACK);
|
||||
uv1.x = 64.0f/256.0f; // blue transparent
|
||||
uv1.y = 192.0f/256.0f;
|
||||
uv2.x = 160.0f/256.0f;
|
||||
uv2.y = 208.0f/256.0f;
|
||||
uv1.x = 64.0f / 256.0f; // blue transparent
|
||||
uv1.y = 192.0f / 256.0f;
|
||||
uv2.x = 160.0f / 256.0f;
|
||||
uv2.y = 208.0f / 256.0f;
|
||||
uv1.x += dp;
|
||||
uv1.y += dp;
|
||||
uv2.x -= dp;
|
||||
|
@ -257,10 +258,10 @@ void CGroup::Draw()
|
|||
{
|
||||
m_engine->SetTexture("button2.tga");
|
||||
m_engine->SetState(Gfx::ENG_RSTATE_TTEXTURE_BLACK);
|
||||
uv1.x = 64.0f/256.0f; // yellow transparent
|
||||
uv1.y = 224.0f/256.0f;
|
||||
uv2.x = 160.0f/256.0f;
|
||||
uv2.y = 240.0f/256.0f;
|
||||
uv1.x = 64.0f / 256.0f; // yellow transparent
|
||||
uv1.y = 224.0f / 256.0f;
|
||||
uv2.x = 160.0f / 256.0f;
|
||||
uv2.y = 240.0f / 256.0f;
|
||||
uv1.x += dp;
|
||||
uv1.y += dp;
|
||||
uv2.x -= dp;
|
||||
|
@ -269,17 +270,17 @@ void CGroup::Draw()
|
|||
}
|
||||
if ( m_icon == 12 ) // viewfinder cross?
|
||||
{
|
||||
dim.x = m_dim.x/2.0f;
|
||||
dim.y = m_dim.y/2.0f;
|
||||
dim.x = m_dim.x / 2.0f;
|
||||
dim.y = m_dim.y / 2.0f;
|
||||
|
||||
m_engine->SetTexture("mouse.tga");
|
||||
m_engine->SetState(Gfx::ENG_RSTATE_TTEXTURE_BLACK);
|
||||
pos.x = m_pos.x-m_dim.x/300.0f;
|
||||
pos.y = m_pos.y+m_dim.y/300.0f+dim.y;
|
||||
uv1.x = 0.5f/256.0f;
|
||||
uv1.y = 192.5f/256.0f;
|
||||
uv2.x = 63.5f/256.0f;
|
||||
uv2.y = 255.5f/256.0f;
|
||||
uv1.x = 0.5f / 256.0f;
|
||||
uv1.y = 192.5f / 256.0f;
|
||||
uv2.x = 63.5f / 256.0f;
|
||||
uv2.y = 255.5f / 256.0f;
|
||||
DrawIcon(pos, dim, uv1, uv2); // ul
|
||||
pos.x += dim.x;
|
||||
Math::Swap(uv1.x, uv2.x);
|
||||
|
@ -294,10 +295,10 @@ void CGroup::Draw()
|
|||
m_engine->SetState(Gfx::ENG_RSTATE_TTEXTURE_WHITE);
|
||||
pos.x = m_pos.x+m_dim.x/300.0f;
|
||||
pos.y = m_pos.y-m_dim.y/300.0f+dim.y;
|
||||
uv1.x = 64.5f/256.0f;
|
||||
uv1.y = 192.5f/256.0f;
|
||||
uv2.x = 127.5f/256.0f;
|
||||
uv2.y = 255.5f/256.0f;
|
||||
uv1.x = 64.5f / 256.0f;
|
||||
uv1.y = 192.5f / 256.0f;
|
||||
uv2.x = 127.5f / 256.0f;
|
||||
uv2.y = 255.5f / 256.0f;
|
||||
DrawIcon(pos, dim, uv1, uv2); // ul
|
||||
pos.x += dim.x;
|
||||
Math::Swap(uv1.x, uv2.x);
|
||||
|
@ -315,19 +316,19 @@ void CGroup::Draw()
|
|||
m_engine->SetState(Gfx::ENG_RSTATE_TTEXTURE_BLACK);
|
||||
pos.x = m_pos.x-m_dim.x/150.0f;
|
||||
pos.y = m_pos.y+m_dim.y/150.0f;
|
||||
uv1.x = 128.5f/256.0f;
|
||||
uv1.y = 192.5f/256.0f;
|
||||
uv2.x = 191.5f/256.0f;
|
||||
uv2.y = 255.5f/256.0f;
|
||||
uv1.x = 128.5f / 256.0f;
|
||||
uv1.y = 192.5f / 256.0f;
|
||||
uv2.x = 191.5f / 256.0f;
|
||||
uv2.y = 255.5f / 256.0f;
|
||||
DrawIcon(pos, m_dim, uv1, uv2);
|
||||
|
||||
m_engine->SetState(Gfx::ENG_RSTATE_TTEXTURE_WHITE);
|
||||
pos.x = m_pos.x+m_dim.x/150.0f;
|
||||
pos.y = m_pos.y-m_dim.y/150.0f;
|
||||
uv1.x = 192.5f/256.0f;
|
||||
uv1.y = 192.5f/256.0f;
|
||||
uv2.x = 255.5f/256.0f;
|
||||
uv2.y = 255.5f/256.0f;
|
||||
uv1.x = 192.5f / 256.0f;
|
||||
uv1.y = 192.5f / 256.0f;
|
||||
uv2.x = 255.5f / 256.0f;
|
||||
uv2.y = 255.5f / 256.0f;
|
||||
DrawIcon(pos, m_dim, uv1, uv2);
|
||||
}
|
||||
if ( m_icon == 14 ) // corner upper / right?
|
||||
|
@ -336,19 +337,19 @@ void CGroup::Draw()
|
|||
m_engine->SetState(Gfx::ENG_RSTATE_TTEXTURE_BLACK);
|
||||
pos.x = m_pos.x-m_dim.x/150.0f;
|
||||
pos.y = m_pos.y+m_dim.y/150.0f;
|
||||
uv2.x = 128.5f/256.0f;
|
||||
uv1.y = 192.5f/256.0f;
|
||||
uv1.x = 191.5f/256.0f;
|
||||
uv2.y = 255.5f/256.0f;
|
||||
uv2.x = 128.5f / 256.0f;
|
||||
uv1.y = 192.5f / 256.0f;
|
||||
uv1.x = 191.5f / 256.0f;
|
||||
uv2.y = 255.5f / 256.0f;
|
||||
DrawIcon(pos, m_dim, uv1, uv2);
|
||||
|
||||
m_engine->SetState(Gfx::ENG_RSTATE_TTEXTURE_WHITE);
|
||||
pos.x = m_pos.x+m_dim.x/150.0f;
|
||||
pos.y = m_pos.y-m_dim.y/150.0f;
|
||||
uv2.x = 192.5f/256.0f;
|
||||
uv1.y = 192.5f/256.0f;
|
||||
uv1.x = 255.5f/256.0f;
|
||||
uv2.y = 255.5f/256.0f;
|
||||
uv2.x = 192.5f / 256.0f;
|
||||
uv1.y = 192.5f / 256.0f;
|
||||
uv1.x = 255.5f / 256.0f;
|
||||
uv2.y = 255.5f / 256.0f;
|
||||
DrawIcon(pos, m_dim, uv1, uv2);
|
||||
}
|
||||
if ( m_icon == 15 ) // corner lower / left?
|
||||
|
@ -357,19 +358,19 @@ void CGroup::Draw()
|
|||
m_engine->SetState(Gfx::ENG_RSTATE_TTEXTURE_BLACK);
|
||||
pos.x = m_pos.x-m_dim.x/150.0f;
|
||||
pos.y = m_pos.y+m_dim.y/150.0f;
|
||||
uv1.x = 128.5f/256.0f;
|
||||
uv2.y = 192.5f/256.0f;
|
||||
uv2.x = 191.5f/256.0f;
|
||||
uv1.y = 255.5f/256.0f;
|
||||
uv1.x = 128.5f / 256.0f;
|
||||
uv2.y = 192.5f / 256.0f;
|
||||
uv2.x = 191.5f / 256.0f;
|
||||
uv1.y = 255.5f / 256.0f;
|
||||
DrawIcon(pos, m_dim, uv1, uv2);
|
||||
|
||||
m_engine->SetState(Gfx::ENG_RSTATE_TTEXTURE_WHITE);
|
||||
pos.x = m_pos.x+m_dim.x/150.0f;
|
||||
pos.y = m_pos.y-m_dim.y/150.0f;
|
||||
uv1.x = 192.5f/256.0f;
|
||||
uv2.y = 192.5f/256.0f;
|
||||
uv2.x = 255.5f/256.0f;
|
||||
uv1.y = 255.5f/256.0f;
|
||||
uv1.x = 192.5f / 256.0f;
|
||||
uv2.y = 192.5f / 256.0f;
|
||||
uv2.x = 255.5f / 256.0f;
|
||||
uv1.y = 255.5f / 256.0f;
|
||||
DrawIcon(pos, m_dim, uv1, uv2);
|
||||
}
|
||||
if ( m_icon == 16 ) // corner lower / left?
|
||||
|
@ -378,45 +379,45 @@ void CGroup::Draw()
|
|||
m_engine->SetState(Gfx::ENG_RSTATE_TTEXTURE_BLACK);
|
||||
pos.x = m_pos.x-m_dim.x/150.0f;
|
||||
pos.y = m_pos.y+m_dim.y/150.0f;
|
||||
uv2.x = 128.5f/256.0f;
|
||||
uv2.y = 192.5f/256.0f;
|
||||
uv1.x = 191.5f/256.0f;
|
||||
uv1.y = 255.5f/256.0f;
|
||||
uv2.x = 128.5f / 256.0f;
|
||||
uv2.y = 192.5f / 256.0f;
|
||||
uv1.x = 191.5f / 256.0f;
|
||||
uv1.y = 255.5f / 256.0f;
|
||||
DrawIcon(pos, m_dim, uv1, uv2);
|
||||
|
||||
m_engine->SetState(Gfx::ENG_RSTATE_TTEXTURE_WHITE);
|
||||
pos.x = m_pos.x+m_dim.x/150.0f;
|
||||
pos.y = m_pos.y-m_dim.y/150.0f;
|
||||
uv2.x = 192.5f/256.0f;
|
||||
uv2.y = 192.5f/256.0f;
|
||||
uv1.x = 255.5f/256.0f;
|
||||
uv1.y = 255.5f/256.0f;
|
||||
uv2.x = 192.5f / 256.0f;
|
||||
uv2.y = 192.5f / 256.0f;
|
||||
uv1.x = 255.5f / 256.0f;
|
||||
uv1.y = 255.5f / 256.0f;
|
||||
DrawIcon(pos, m_dim, uv1, uv2);
|
||||
}
|
||||
if ( m_icon == 17 )
|
||||
{
|
||||
m_engine->SetTexture("button2.tga");
|
||||
m_engine->SetState(Gfx::ENG_RSTATE_NORMAL);
|
||||
uv1.x = 0.0f/256.0f; // blue frame
|
||||
uv1.y = 75.0f/256.0f;
|
||||
uv2.x = 64.0f/256.0f;
|
||||
uv2.y = 128.0f/256.0f;
|
||||
uv1.x = 0.0f / 256.0f; // blue frame
|
||||
uv1.y = 75.0f / 256.0f;
|
||||
uv2.x = 64.0f / 256.0f;
|
||||
uv2.y = 128.0f / 256.0f;
|
||||
uv1.x += dp;
|
||||
uv1.y += dp;
|
||||
uv2.x -= dp;
|
||||
uv2.y -= dp;
|
||||
corner.x = 6.0f/640.0f;
|
||||
corner.y = 6.0f/480.0f;
|
||||
corner.x = 6.0f / 640.0f;
|
||||
corner.y = 6.0f / 480.0f;
|
||||
DrawIcon(m_pos, m_dim, uv1, uv2, corner, 2.0f/256.0f);
|
||||
}
|
||||
if ( m_icon == 18 ) // arrow> for SatCom?
|
||||
{
|
||||
m_engine->SetTexture("button1.tga");
|
||||
m_engine->SetState(Gfx::ENG_RSTATE_TTEXTURE_WHITE);
|
||||
uv1.x = 0.0f/256.0f; // >
|
||||
uv1.y = 192.0f/256.0f;
|
||||
uv2.x = 32.0f/256.0f;
|
||||
uv2.y = 224.0f/256.0f;
|
||||
uv1.x = 0.0f / 256.0f; // >
|
||||
uv1.y = 192.0f / 256.0f;
|
||||
uv2.x = 32.0f / 256.0f;
|
||||
uv2.y = 224.0f / 256.0f;
|
||||
uv1.x += dp;
|
||||
uv1.y += dp;
|
||||
uv2.x -= dp;
|
||||
|
@ -427,10 +428,10 @@ void CGroup::Draw()
|
|||
{
|
||||
m_engine->SetTexture("button1.tga");
|
||||
m_engine->SetState(Gfx::ENG_RSTATE_TTEXTURE_WHITE);
|
||||
uv1.x = 224.0f/256.0f; // SatCom symbol
|
||||
uv1.y = 224.0f/256.0f;
|
||||
uv2.x = 256.0f/256.0f;
|
||||
uv2.y = 256.0f/256.0f;
|
||||
uv1.x = 224.0f / 256.0f; // SatCom symbol
|
||||
uv1.y = 224.0f / 256.0f;
|
||||
uv2.x = 256.0f / 256.0f;
|
||||
uv2.y = 256.0f / 256.0f;
|
||||
uv1.x += dp;
|
||||
uv1.y += dp;
|
||||
uv2.x -= dp;
|
||||
|
@ -441,10 +442,10 @@ void CGroup::Draw()
|
|||
{
|
||||
m_engine->SetTexture("button1.tga");
|
||||
m_engine->SetState(Gfx::ENG_RSTATE_TTEXTURE_WHITE);
|
||||
uv1.x = 224.0f/256.0f;
|
||||
uv1.y = 32.0f/256.0f;
|
||||
uv2.x = 256.0f/256.0f;
|
||||
uv2.y = 64.0f/256.0f;
|
||||
uv1.x = 224.0f / 256.0f;
|
||||
uv1.y = 32.0f / 256.0f;
|
||||
uv2.x = 256.0f / 256.0f;
|
||||
uv2.y = 64.0f / 256.0f;
|
||||
uv1.x += dp;
|
||||
uv1.y += dp;
|
||||
uv2.x -= dp;
|
||||
|
@ -455,10 +456,10 @@ void CGroup::Draw()
|
|||
{
|
||||
m_engine->SetTexture("button2.tga");
|
||||
m_engine->SetState(Gfx::ENG_RSTATE_TTEXTURE_WHITE);
|
||||
uv1.x = 160.0f/256.0f;
|
||||
uv1.y = 32.0f/256.0f;
|
||||
uv2.x = 192.0f/256.0f;
|
||||
uv2.y = 64.0f/256.0f;
|
||||
uv1.x = 160.0f / 256.0f;
|
||||
uv1.y = 32.0f / 256.0f;
|
||||
uv2.x = 192.0f / 256.0f;
|
||||
uv2.y = 64.0f / 256.0f;
|
||||
uv1.x += dp;
|
||||
uv1.y += dp;
|
||||
uv2.x -= dp;
|
||||
|
@ -469,16 +470,16 @@ void CGroup::Draw()
|
|||
{
|
||||
m_engine->SetTexture("button2.tga");
|
||||
m_engine->SetState(Gfx::ENG_RSTATE_NORMAL);
|
||||
uv1.x = 64.0f/256.0f; // opaque yellow
|
||||
uv1.y = 224.0f/256.0f;
|
||||
uv2.x = 160.0f/256.0f;
|
||||
uv2.y = 240.0f/256.0f;
|
||||
uv1.x = 64.0f / 256.0f; // opaque yellow
|
||||
uv1.y = 224.0f / 256.0f;
|
||||
uv2.x = 160.0f / 256.0f;
|
||||
uv2.y = 240.0f / 256.0f;
|
||||
uv1.x += dp;
|
||||
uv1.y += dp;
|
||||
uv2.x -= dp;
|
||||
uv2.y -= dp;
|
||||
corner.x = 5.0f/640.0f;
|
||||
corner.y = 5.0f/480.0f;
|
||||
corner.x = 5.0f / 640.0f;
|
||||
corner.y = 5.0f / 480.0f;
|
||||
DrawIcon(m_pos, m_dim, uv1, uv2, corner, 3.0f/256.0f);
|
||||
}
|
||||
|
||||
|
@ -486,74 +487,74 @@ void CGroup::Draw()
|
|||
{
|
||||
m_engine->SetTexture("button3.tga");
|
||||
m_engine->SetState(Gfx::ENG_RSTATE_NORMAL);
|
||||
uv1.x = 64.0f/256.0f; // yellow
|
||||
uv1.y = 192.0f/256.0f;
|
||||
uv2.x = 80.0f/256.0f;
|
||||
uv2.y = 208.0f/256.0f;
|
||||
uv1.x = 64.0f / 256.0f; // yellow
|
||||
uv1.y = 192.0f / 256.0f;
|
||||
uv2.x = 80.0f / 256.0f;
|
||||
uv2.y = 208.0f / 256.0f;
|
||||
uv1.x += dp;
|
||||
uv1.y += dp;
|
||||
uv2.x -= dp;
|
||||
uv2.y -= dp;
|
||||
corner.x = 4.0f/640.0f;
|
||||
corner.y = 4.0f/480.0f;
|
||||
corner.x = 4.0f / 640.0f;
|
||||
corner.y = 4.0f / 480.0f;
|
||||
DrawIcon(m_pos, m_dim, uv1, uv2, corner, 2.0f/256.0f);
|
||||
}
|
||||
if ( m_icon == 24 )
|
||||
{
|
||||
m_engine->SetTexture("button3.tga");
|
||||
m_engine->SetState(Gfx::ENG_RSTATE_NORMAL);
|
||||
uv1.x = 80.0f/256.0f; // orange
|
||||
uv1.y = 192.0f/256.0f;
|
||||
uv2.x = 96.0f/256.0f;
|
||||
uv2.y = 208.0f/256.0f;
|
||||
uv1.x = 80.0f / 256.0f; // orange
|
||||
uv1.y = 192.0f / 256.0f;
|
||||
uv2.x = 96.0f / 256.0f;
|
||||
uv2.y = 208.0f / 256.0f;
|
||||
uv1.x += dp;
|
||||
uv1.y += dp;
|
||||
uv2.x -= dp;
|
||||
uv2.y -= dp;
|
||||
corner.x = 4.0f/640.0f;
|
||||
corner.y = 4.0f/480.0f;
|
||||
corner.x = 4.0f / 640.0f;
|
||||
corner.y = 4.0f / 480.0f;
|
||||
DrawIcon(m_pos, m_dim, uv1, uv2, corner, 2.0f/256.0f);
|
||||
}
|
||||
if ( m_icon == 25 )
|
||||
{
|
||||
m_engine->SetTexture("button3.tga");
|
||||
m_engine->SetState(Gfx::ENG_RSTATE_NORMAL);
|
||||
uv1.x = 64.0f/256.0f; // orange
|
||||
uv1.y = 208.0f/256.0f;
|
||||
uv2.x = 80.0f/256.0f;
|
||||
uv2.y = 224.0f/256.0f;
|
||||
uv1.x = 64.0f / 256.0f; // orange
|
||||
uv1.y = 208.0f / 256.0f;
|
||||
uv2.x = 80.0f / 256.0f;
|
||||
uv2.y = 224.0f / 256.0f;
|
||||
uv1.x += dp;
|
||||
uv1.y += dp;
|
||||
uv2.x -= dp;
|
||||
uv2.y -= dp;
|
||||
corner.x = 4.0f/640.0f;
|
||||
corner.y = 4.0f/480.0f;
|
||||
corner.x = 4.0f / 640.0f;
|
||||
corner.y = 4.0f / 480.0f;
|
||||
DrawIcon(m_pos, m_dim, uv1, uv2, corner, 2.0f/256.0f);
|
||||
}
|
||||
if ( m_icon == 26 )
|
||||
{
|
||||
m_engine->SetTexture("button3.tga");
|
||||
m_engine->SetState(Gfx::ENG_RSTATE_NORMAL);
|
||||
uv1.x = 80.0f/256.0f; // red
|
||||
uv1.y = 208.0f/256.0f;
|
||||
uv2.x = 96.0f/256.0f;
|
||||
uv2.y = 224.0f/256.0f;
|
||||
uv1.x = 80.0f / 256.0f; // red
|
||||
uv1.y = 208.0f / 256.0f;
|
||||
uv2.x = 96.0f / 256.0f;
|
||||
uv2.y = 224.0f / 256.0f;
|
||||
uv1.x += dp;
|
||||
uv1.y += dp;
|
||||
uv2.x -= dp;
|
||||
uv2.y -= dp;
|
||||
corner.x = 4.0f/640.0f;
|
||||
corner.y = 4.0f/480.0f;
|
||||
corner.x = 4.0f / 640.0f;
|
||||
corner.y = 4.0f / 480.0f;
|
||||
DrawIcon(m_pos, m_dim, uv1, uv2, corner, 2.0f/256.0f);
|
||||
}
|
||||
if ( m_icon == 27 )
|
||||
{
|
||||
m_engine->SetTexture("button3.tga");
|
||||
m_engine->SetState(Gfx::ENG_RSTATE_NORMAL);
|
||||
uv1.x = 32.0f/256.0f;
|
||||
uv1.y = 0.0f/256.0f;
|
||||
uv2.x = 64.0f/256.0f;
|
||||
uv2.y = 32.0f/256.0f;
|
||||
uv1.x = 32.0f / 256.0f;
|
||||
uv1.y = 0.0f / 256.0f;
|
||||
uv2.x = 64.0f / 256.0f;
|
||||
uv2.y = 32.0f / 256.0f;
|
||||
uv1.x += dp;
|
||||
uv1.y += dp;
|
||||
uv2.x -= dp;
|
||||
|
@ -568,8 +569,8 @@ void CGroup::Draw()
|
|||
|
||||
m_engine->SetTexture("button2.tga");
|
||||
m_engine->SetState(Gfx::ENG_RSTATE_NORMAL);
|
||||
uv1.x = 32.0f/256.0f;
|
||||
uv1.y = 32.0f/256.0f;
|
||||
uv1.x = 32.0f / 256.0f;
|
||||
uv1.y = 32.0f / 256.0f;
|
||||
uv2.x = uv1.x+32.0f/256.0f;
|
||||
uv2.y = uv1.y+32.0f/256.0f;
|
||||
uv1.x += dp;
|
||||
|
@ -580,12 +581,12 @@ void CGroup::Draw()
|
|||
|
||||
m_engine->SetTexture("button3.tga");
|
||||
m_engine->SetState(Gfx::ENG_RSTATE_NORMAL);
|
||||
pos.x += 8.0f/640.0f;
|
||||
pos.y += 8.0f/480.0f;
|
||||
dim.x -= 16.0f/640.0f;
|
||||
dim.y -= 16.0f/480.0f;
|
||||
uv1.x = 32.0f/256.0f;
|
||||
uv1.y = 0.0f/256.0f;
|
||||
pos.x += 8.0f / 640.0f;
|
||||
pos.y += 8.0f / 480.0f;
|
||||
dim.x -= 16.0f / 640.0f;
|
||||
dim.y -= 16.0f / 480.0f;
|
||||
uv1.x = 32.0f / 256.0f;
|
||||
uv1.y = 0.0f / 256.0f;
|
||||
uv2.x = uv1.x+32.0f/256.0f;
|
||||
uv2.y = uv1.y+32.0f/256.0f;
|
||||
uv1.x += dp;
|
||||
|
@ -595,12 +596,12 @@ void CGroup::Draw()
|
|||
DrawIcon(pos, dim, uv1, uv2);
|
||||
|
||||
m_engine->SetState(Gfx::ENG_RSTATE_NORMAL);
|
||||
pos.x += 2.0f/640.0f;
|
||||
pos.y += 2.0f/480.0f;
|
||||
dim.x -= 4.0f/640.0f;
|
||||
dim.y -= 4.0f/480.0f;
|
||||
uv1.x = 0.0f/256.0f;
|
||||
uv1.y = 0.0f/256.0f;
|
||||
pos.x += 2.0f / 640.0f;
|
||||
pos.y += 2.0f / 480.0f;
|
||||
dim.x -= 4.0f / 640.0f;
|
||||
dim.y -= 4.0f / 480.0f;
|
||||
uv1.x = 0.0f / 256.0f;
|
||||
uv1.y = 0.0f / 256.0f;
|
||||
uv2.x = uv1.x+32.0f/256.0f;
|
||||
uv2.y = uv1.y+32.0f/256.0f;
|
||||
uv1.x += dp;
|
||||
|
@ -610,10 +611,10 @@ void CGroup::Draw()
|
|||
DrawIcon(pos, dim, uv1, uv2);
|
||||
|
||||
m_engine->SetState(Gfx::ENG_RSTATE_TTEXTURE_BLACK);
|
||||
pos.x += 8.0f/640.0f;
|
||||
pos.y += 8.0f/480.0f;
|
||||
dim.x -= 16.0f/640.0f;
|
||||
dim.y -= 16.0f/480.0f;
|
||||
pos.x += 8.0f / 640.0f;
|
||||
pos.y += 8.0f / 480.0f;
|
||||
dim.x -= 16.0f / 640.0f;
|
||||
dim.y -= 16.0f / 480.0f;
|
||||
if ( m_icon == 100 ) icon = 43; // base ?
|
||||
if ( m_icon == 101 ) icon = 32; // factory ?
|
||||
if ( m_icon == 102 ) icon = 35; // research ?
|
||||
|
@ -643,3 +644,4 @@ void CGroup::Draw()
|
|||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -21,15 +21,17 @@
|
|||
|
||||
#include "ui/control.h"
|
||||
|
||||
namespace Gfx{
|
||||
class CEngine;
|
||||
};
|
||||
|
||||
class CD3DEngine;
|
||||
|
||||
|
||||
namespace Ui {
|
||||
|
||||
class CGroup : public CControl
|
||||
{
|
||||
public:
|
||||
CGroup(CInstanceManager* iMan);
|
||||
// CGroup(CInstanceManager* iMan);
|
||||
CGroup();
|
||||
virtual ~CGroup();
|
||||
|
||||
bool Create(Math::Point pos, Math::Point dim, int icon, EventType eventType);
|
||||
|
@ -44,3 +46,4 @@ protected:
|
|||
};
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
// * This file is part of the COLOBOT source code
|
||||
// * Copyright (C) 2001-2008, Daniel ROUX & EPSITEC SA, www.epsitec.ch
|
||||
// * Copyright (C) 2012, Polish Portal of Colobot (PPC)
|
||||
// *
|
||||
// * 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
|
||||
|
@ -17,13 +18,14 @@
|
|||
// image.cpp
|
||||
|
||||
|
||||
#include <windows.h>
|
||||
//#include <windows.h>
|
||||
#include <stdio.h>
|
||||
#include <d3d.h>
|
||||
//#include <d3d.h>
|
||||
|
||||
#include "common/struct.h"
|
||||
#include "old/d3dengine.h"
|
||||
#include "old/math3d.h"
|
||||
//#include "common/struct.h"
|
||||
//#include "old/d3dengine.h"
|
||||
#include "graphics/engine/engine.h"
|
||||
//#include "old/math3d.h"
|
||||
#include "common/event.h"
|
||||
#include "common/misc.h"
|
||||
#include "common/iman.h"
|
||||
|
@ -32,10 +34,11 @@
|
|||
|
||||
|
||||
|
||||
|
||||
namespace Ui {
|
||||
// Object's constructor.
|
||||
|
||||
CImage::CImage(CInstanceManager* iMan) : CControl(iMan)
|
||||
//CImage::CImage(CInstanceManager* iMan) : CControl(iMan)
|
||||
CImage::CImage() : CControl()
|
||||
{
|
||||
m_filename[0] = 0;
|
||||
}
|
||||
|
@ -46,25 +49,25 @@ CImage::~CImage()
|
|||
{
|
||||
if ( m_filename[0] != 0 )
|
||||
{
|
||||
m_engine->FreeTexture(m_filename);
|
||||
m_engine->DeleteTexture(m_filename);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Creates a new button.
|
||||
|
||||
bool CImage::Create(Math::Point pos, Math::Point dim, int icon, EventMsg eventMsg)
|
||||
bool CImage::Create(Math::Point pos, Math::Point dim, int icon, EventType eventType)
|
||||
{
|
||||
if ( eventMsg == EVENT_NULL ) eventMsg = GetUniqueEventMsg();
|
||||
if ( eventType == EVENT_NULL ) eventType = GetUniqueEventType();
|
||||
|
||||
CControl::Create(pos, dim, icon, eventMsg);
|
||||
CControl::Create(pos, dim, icon, eventType);
|
||||
|
||||
if ( icon == -1 )
|
||||
{
|
||||
char name[100];
|
||||
char* p;
|
||||
|
||||
GetResource(RES_EVENT, eventMsg, name);
|
||||
GetResource(RES_EVENT, eventType, name);
|
||||
p = strchr(name, '\\');
|
||||
if ( p != 0 ) *p = 0;
|
||||
SetName(name);
|
||||
|
@ -80,13 +83,13 @@ void CImage::SetFilenameImage(char *name)
|
|||
{
|
||||
if ( m_filename[0] != 0 )
|
||||
{
|
||||
m_engine->FreeTexture(m_filename);
|
||||
m_engine->DeleteTexture(m_filename);
|
||||
}
|
||||
|
||||
strcpy(m_filename, name);
|
||||
}
|
||||
|
||||
char* CImage::RetFilenameImage()
|
||||
char* CImage::GetFilenameImage()
|
||||
{
|
||||
return m_filename;
|
||||
}
|
||||
|
@ -119,17 +122,17 @@ void CImage::Draw()
|
|||
if ( m_icon == 0 ) // hollow frame?
|
||||
{
|
||||
m_engine->SetTexture("button2.tga");
|
||||
m_engine->SetState(D3DSTATENORMAL);
|
||||
uv1.x = 160.0f/256.0f;
|
||||
uv1.y = 192.0f/256.0f; // u-v texture
|
||||
uv2.x = 192.0f/256.0f;
|
||||
uv2.y = 224.0f/256.0f;
|
||||
m_engine->SetState(Gfx::ENG_RSTATE_NORMAL);
|
||||
uv1.x = 160.0f / 256.0f;
|
||||
uv1.y = 192.0f / 256.0f; // u-v texture
|
||||
uv2.x = 192.0f / 256.0f;
|
||||
uv2.y = 224.0f / 256.0f;
|
||||
uv1.x += dp;
|
||||
uv1.y += dp;
|
||||
uv2.x -= dp;
|
||||
uv2.y -= dp;
|
||||
corner.x = 10.0f/640.0f;
|
||||
corner.y = 10.0f/480.0f;
|
||||
corner.x = 10.0f / 640.0f;
|
||||
corner.y = 10.0f / 480.0f;
|
||||
DrawIcon(m_pos, m_dim, uv1, uv2, corner, 8.0f/256.0f);
|
||||
}
|
||||
|
||||
|
@ -137,13 +140,13 @@ void CImage::Draw()
|
|||
{
|
||||
m_engine->LoadTexture(m_filename);
|
||||
m_engine->SetTexture(m_filename);
|
||||
m_engine->SetState(D3DSTATENORMAL);
|
||||
m_engine->SetState(Gfx::ENG_RSTATE_NORMAL);
|
||||
pos = m_pos;
|
||||
dim = m_dim;
|
||||
pos.x += 5.0f/640.0f;
|
||||
pos.y += 5.0f/480.0f;
|
||||
dim.x -= 10.0f/640.0f;
|
||||
dim.y -= 10.0f/480.0f;
|
||||
pos.x += 5.0f / 640.0f;
|
||||
pos.y += 5.0f / 480.0f;
|
||||
dim.x -= 10.0f / 640.0f;
|
||||
dim.y -= 10.0f / 480.0f;
|
||||
uv1.x = 0.0f;
|
||||
uv1.y = 0.0f;
|
||||
uv2.x = 1.0f;
|
||||
|
@ -153,3 +156,4 @@ void CImage::Draw()
|
|||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
// * This file is part of the COLOBOT source code
|
||||
// * Copyright (C) 2001-2008, Daniel ROUX & EPSITEC SA, www.epsitec.ch
|
||||
// * Copyright (C) 2012, Polish Portal of Colobot (PPC)
|
||||
// *
|
||||
// * 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
|
||||
|
@ -21,25 +22,28 @@
|
|||
|
||||
#include "ui/control.h"
|
||||
|
||||
|
||||
class CD3DEngine;
|
||||
namespace Gfx{
|
||||
class CEngine;
|
||||
};
|
||||
|
||||
|
||||
namespace Ui {
|
||||
|
||||
class CImage : public CControl
|
||||
{
|
||||
public:
|
||||
CImage(CInstanceManager* iMan);
|
||||
// CImage(CInstanceManager* iMan);
|
||||
CImage ();
|
||||
virtual ~CImage();
|
||||
|
||||
bool Create(Math::Point pos, Math::Point dim, int icon, EventMsg eventMsg);
|
||||
bool Create(Math::Point pos, Math::Point dim, int icon, EventType eventType);
|
||||
|
||||
bool EventProcess(const Event &event);
|
||||
|
||||
void Draw();
|
||||
|
||||
void SetFilenameImage(char *name);
|
||||
char* RetFilenameImage();
|
||||
char* GetFilenameImage();
|
||||
|
||||
protected:
|
||||
|
||||
|
@ -48,3 +52,4 @@ protected:
|
|||
};
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
// * This file is part of the COLOBOT source code
|
||||
// * Copyright (C) 2001-2008, Daniel ROUX & EPSITEC SA, www.epsitec.ch
|
||||
// * Copyright (C) 2012, Polish Portal of Colobot (PPC)
|
||||
// *
|
||||
// * 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
|
||||
|
@ -17,17 +18,19 @@
|
|||
// slider.cpp
|
||||
|
||||
|
||||
#include <windows.h>
|
||||
//#include <windows.h>
|
||||
#include <stdio.h>
|
||||
#include <d3d.h>
|
||||
//#include <d3d.h>
|
||||
|
||||
#include "common/struct.h"
|
||||
#include "old/d3dengine.h"
|
||||
#include "old/math3d.h"
|
||||
//#include "common/struct.h"
|
||||
//#include "old/d3dengine.h"
|
||||
//#include "old/math3d.h"
|
||||
#include "graphics/engine/engine.h"
|
||||
#include "common/event.h"
|
||||
#include "common/misc.h"
|
||||
#include "common/iman.h"
|
||||
#include "old/text.h"
|
||||
//#include "old/text.h"
|
||||
#include "graphics/engine.text.h"
|
||||
#include "ui/button.h"
|
||||
#include "ui/slider.h"
|
||||
|
||||
|
@ -71,10 +74,10 @@ CSlider::~CSlider()
|
|||
|
||||
// Creates a new button.
|
||||
|
||||
bool CSlider::Create(Math::Point pos, Math::Point dim, int icon, EventMsg eventMsg)
|
||||
bool CSlider::Create(Math::Point pos, Math::Point dim, int icon, EventType eventType)
|
||||
{
|
||||
if ( eventMsg == EVENT_NULL ) eventMsg = GetUniqueEventMsg();
|
||||
CControl::Create(pos, dim, icon, eventMsg);
|
||||
if ( eventType == EVENT_NULL ) eventType = GetUniqueEventType();
|
||||
CControl::Create(pos, dim, icon, eventType);
|
||||
|
||||
MoveAdjust();
|
||||
return true;
|
||||
|
@ -119,7 +122,7 @@ void CSlider::MoveAdjust()
|
|||
m_buttonLeft->Create(Math::Point(0.0f, 0.0f), Math::Point(0.0f, 0.0f), m_bHoriz?55:49, EVENT_NULL); // </^
|
||||
m_buttonLeft->SetRepeat(true);
|
||||
if ( m_state & STATE_SHADOW ) m_buttonLeft->SetState(STATE_SHADOW);
|
||||
m_eventUp = m_buttonLeft->RetEventMsg();
|
||||
m_eventUp = m_buttonLeft->GetEventType();
|
||||
}
|
||||
|
||||
if ( m_buttonRight == 0 )
|
||||
|
@ -128,7 +131,7 @@ void CSlider::MoveAdjust()
|
|||
m_buttonRight->Create(Math::Point(0.0f, 0.0f), Math::Point(0.0f, 0.0f), m_bHoriz?48:50, EVENT_NULL); // >/v
|
||||
m_buttonRight->SetRepeat(true);
|
||||
if ( m_state & STATE_SHADOW ) m_buttonRight->SetState(STATE_SHADOW);
|
||||
m_eventDown = m_buttonRight->RetEventMsg();
|
||||
m_eventDown = m_buttonRight->GetEventType();
|
||||
}
|
||||
|
||||
m_marginButton = m_bHoriz?(m_dim.y*0.75f):(m_dim.x/0.75f);
|
||||
|
@ -261,7 +264,7 @@ bool CSlider::EventProcess(const Event &event)
|
|||
if ( !m_buttonRight->EventProcess(event) ) return false;
|
||||
}
|
||||
|
||||
if ( event.event == m_eventUp && m_step > 0.0f )
|
||||
if ( event.type == m_eventUp && m_step > 0.0f )
|
||||
{
|
||||
m_visibleValue -= m_bHoriz?m_step:-m_step;
|
||||
if ( m_visibleValue < 0.0f ) m_visibleValue = 0.0f;
|
||||
|
@ -269,11 +272,11 @@ bool CSlider::EventProcess(const Event &event)
|
|||
AdjustGlint();
|
||||
|
||||
Event newEvent = event;
|
||||
newEvent.event = m_eventMsg;
|
||||
newEvent.type = m_eventType;
|
||||
m_event->AddEvent(newEvent);
|
||||
}
|
||||
|
||||
if ( event.event == m_eventDown && m_step > 0.0f )
|
||||
if ( event.type == m_eventDown && m_step > 0.0f )
|
||||
{
|
||||
m_visibleValue += m_bHoriz?m_step:-m_step;
|
||||
if ( m_visibleValue < 0.0f ) m_visibleValue = 0.0f;
|
||||
|
@ -281,12 +284,13 @@ bool CSlider::EventProcess(const Event &event)
|
|||
AdjustGlint();
|
||||
|
||||
Event newEvent = event;
|
||||
newEvent.event = m_eventMsg;
|
||||
newEvent.type = m_eventType;
|
||||
m_event->AddEvent(newEvent);
|
||||
}
|
||||
|
||||
if ( event.event == EVENT_LBUTTONDOWN &&
|
||||
(m_state & STATE_VISIBLE) &&
|
||||
if ( event.type == EVENT_MOUSE_BUTTON_DOWN &&
|
||||
(event.mouseButton.button == 1 ) &&
|
||||
(m_state & STATE_VISIBLE) &&
|
||||
(m_state & STATE_ENABLE) )
|
||||
{
|
||||
if ( CControl::Detect(event.pos) )
|
||||
|
@ -311,7 +315,7 @@ bool CSlider::EventProcess(const Event &event)
|
|||
AdjustGlint();
|
||||
|
||||
Event newEvent = event;
|
||||
newEvent.event = m_eventMsg;
|
||||
newEvent.type = m_eventType;
|
||||
m_event->AddEvent(newEvent);
|
||||
|
||||
m_bCapture = true;
|
||||
|
@ -320,7 +324,7 @@ bool CSlider::EventProcess(const Event &event)
|
|||
}
|
||||
}
|
||||
|
||||
if ( event.event == EVENT_MOUSEMOVE && m_bCapture )
|
||||
if ( event.type == EVENT_MOUSE_MOVE && m_bCapture )
|
||||
{
|
||||
if ( m_bHoriz )
|
||||
{
|
||||
|
@ -345,32 +349,35 @@ bool CSlider::EventProcess(const Event &event)
|
|||
AdjustGlint();
|
||||
|
||||
Event newEvent = event;
|
||||
newEvent.event = m_eventMsg;
|
||||
newEvent.type = m_eventType;
|
||||
m_event->AddEvent(newEvent);
|
||||
}
|
||||
}
|
||||
|
||||
if ( event.event == EVENT_LBUTTONUP && m_bCapture )
|
||||
if ( ( event.type == EVENT_MOUSE_BUTTON_UP ) &&
|
||||
( event.mouseButton.button == 1 ) &&
|
||||
m_bCapture )
|
||||
{
|
||||
m_bCapture = false;
|
||||
}
|
||||
|
||||
if ( event.event == EVENT_KEYDOWN &&
|
||||
/*/TODO */
|
||||
if ( event.type == EVENT_KEY_DOWN &&
|
||||
event.param == VK_WHEELUP &&
|
||||
Detect(event.pos) &&
|
||||
m_buttonLeft != 0 )
|
||||
{
|
||||
Event newEvent = event;
|
||||
newEvent.event = m_buttonLeft->RetEventMsg();
|
||||
newEvent.type = m_buttonLeft->GetEventType();
|
||||
m_event->AddEvent(newEvent);
|
||||
}
|
||||
if ( event.event == EVENT_KEYDOWN &&
|
||||
/*/TODO */
|
||||
if ( event.type == EVENT_KEY_DOWN &&
|
||||
event.param == VK_WHEELDOWN &&
|
||||
Detect(event.pos) &&
|
||||
m_buttonRight != 0 )
|
||||
{
|
||||
Event newEvent = event;
|
||||
newEvent.event = m_buttonRight->RetEventMsg();
|
||||
newEvent.type = m_buttonRight->GetEventType();
|
||||
m_event->AddEvent(newEvent);
|
||||
}
|
||||
|
||||
|
@ -466,10 +473,10 @@ void CSlider::Draw()
|
|||
if ( m_bHoriz )
|
||||
{
|
||||
sprintf(text, "%d", (int)(m_min+m_visibleValue*(m_max-m_min)));
|
||||
h = m_engine->RetText()->RetHeight(m_fontSize, m_fontType);
|
||||
h = m_engine->GetText()->GetHeight(m_fontType, m_fontSize);
|
||||
pos.x = m_pos.x+m_dim.x+(10.0f/640.0f);
|
||||
pos.y = m_pos.y+(m_dim.y-h)/2.0f;
|
||||
m_engine->RetText()->DrawText(text, pos, m_dim.x, 1, m_fontSize, m_fontStretch, m_fontType, 0);
|
||||
m_engine->GetText()->DrawText(text, m_fontType, m_fontSize, pos, m_dim.x, Gfx::TEXT_ALIGN_RIGHT, 0);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
@ -482,7 +489,7 @@ void CSlider::Draw()
|
|||
dim.x = 50.0f/640.0f;
|
||||
dim.y = 16.0f/480.0f;
|
||||
sprintf(text, "%d", (int)(m_min+(m_visibleValue*(m_max-m_min))));
|
||||
m_engine->RetText()->DrawText(text, pos, dim.x, 1, m_fontSize, m_fontStretch, m_fontType, 0);
|
||||
m_engine->GetText()->DrawText(text, m_fontType, m_fontSize, pos, dim.x, Gfx::TEXT_ALIGN_RIGHT, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -497,7 +504,7 @@ void CSlider::DrawVertex(Math::Point pos, Math::Point dim, int icon)
|
|||
if ( icon == 0 )
|
||||
{
|
||||
m_engine->SetTexture("button2.tga");
|
||||
m_engine->SetState(D3DSTATENORMAL);
|
||||
m_engine->SetState(Gfx::ENG_RSTATE_NORMAL);
|
||||
uv1.x = 0.0f/256.0f; // yellow rectangle
|
||||
uv1.y = 32.0f/256.0f;
|
||||
uv2.x = 32.0f/256.0f;
|
||||
|
@ -509,7 +516,7 @@ void CSlider::DrawVertex(Math::Point pos, Math::Point dim, int icon)
|
|||
else if ( icon == 1 )
|
||||
{
|
||||
m_engine->SetTexture("button2.tga");
|
||||
m_engine->SetState(D3DSTATENORMAL);
|
||||
m_engine->SetState(Gfx::ENG_RSTATE_NORMAL);
|
||||
uv1.x = 128.0f/256.0f; // gray rectangle
|
||||
uv1.y = 32.0f/256.0f;
|
||||
uv2.x = 160.0f/256.0f;
|
||||
|
@ -521,7 +528,7 @@ void CSlider::DrawVertex(Math::Point pos, Math::Point dim, int icon)
|
|||
else
|
||||
{
|
||||
m_engine->SetTexture("button2.tga");
|
||||
m_engine->SetState(D3DSTATENORMAL);
|
||||
m_engine->SetState(Gfx::ENG_RSTATE_NORMAL);
|
||||
uv1.x = 224.0f/256.0f; // cursor
|
||||
uv1.y = 32.0f/256.0f;
|
||||
uv2.x = 256.0f/256.0f;
|
||||
|
@ -561,7 +568,7 @@ void CSlider::SetVisibleValue(float value)
|
|||
AdjustGlint();
|
||||
}
|
||||
|
||||
float CSlider::RetVisibleValue()
|
||||
float CSlider::GetVisibleValue()
|
||||
{
|
||||
return m_min+m_visibleValue*(m_max-m_min);
|
||||
}
|
||||
|
@ -572,7 +579,7 @@ void CSlider::SetArrowStep(float step)
|
|||
m_step = step/(m_max-m_min);
|
||||
}
|
||||
|
||||
float CSlider::RetArrowStep()
|
||||
float CSlider::GetArrowStep()
|
||||
{
|
||||
return m_step*(m_max-m_min);
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
// * This file is part of the COLOBOT source code
|
||||
// * Copyright (C) 2001-2008, Daniel ROUX & EPSITEC SA, www.epsitec.ch
|
||||
// * Copyright (C) 2012, Polish Portal of Colobot (PPC)
|
||||
// *
|
||||
// * 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
|
||||
|
@ -21,8 +22,9 @@
|
|||
|
||||
#include "ui/control.h"
|
||||
|
||||
|
||||
class CD3DEngine;
|
||||
namespace Gfx{
|
||||
class CEngine;
|
||||
};
|
||||
class CButton;
|
||||
|
||||
|
||||
|
@ -33,7 +35,7 @@ public:
|
|||
CSlider(CInstanceManager* iMan);
|
||||
~CSlider();
|
||||
|
||||
bool Create(Math::Point pos, Math::Point dim, int icon, EventMsg eventMsg);
|
||||
bool Create(Math::Point pos, Math::Point dim, int icon, EventType eventType);
|
||||
|
||||
void SetPos(Math::Point pos);
|
||||
void SetDim(Math::Point dim);
|
||||
|
@ -48,10 +50,10 @@ public:
|
|||
void SetLimit(float min, float max);
|
||||
|
||||
void SetVisibleValue(float value);
|
||||
float RetVisibleValue();
|
||||
float GetVisibleValue();
|
||||
|
||||
void SetArrowStep(float step);
|
||||
float RetArrowStep();
|
||||
float GetArrowStep();
|
||||
|
||||
protected:
|
||||
void MoveAdjust();
|
||||
|
@ -74,8 +76,8 @@ protected:
|
|||
Math::Point m_pressPos;
|
||||
float m_pressValue;
|
||||
|
||||
EventMsg m_eventUp;
|
||||
EventMsg m_eventDown;
|
||||
EventType m_eventUp;
|
||||
EventType m_eventDown;
|
||||
};
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue