Merge branch 'master' of github.com:edubart/otclient
This commit is contained in:
commit
6392f71641
|
@ -52,7 +52,7 @@ IF(CMAKE_BUILD_TYPE STREQUAL "Debug")
|
||||||
ADD_DEFINITIONS(-D_DEBUG)
|
ADD_DEFINITIONS(-D_DEBUG)
|
||||||
ENDIF(CMAKE_BUILD_TYPE STREQUAL "Debug")
|
ENDIF(CMAKE_BUILD_TYPE STREQUAL "Debug")
|
||||||
|
|
||||||
SET(SOURCES
|
SET(SOURCES src/framework/ui/uilinedecorationskin.cpp src/framework/ui/uicheckboxskin.cpp src/framework/ui/uilinedecoration.cpp src/framework/ui/uicheckbox.cpp
|
||||||
# game sources
|
# game sources
|
||||||
src/main.cpp
|
src/main.cpp
|
||||||
src/menustate.cpp
|
src/menustate.cpp
|
||||||
|
|
|
@ -0,0 +1,21 @@
|
||||||
|
OTClient is made available under the MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2010 OTClient, https://github.com/edubart/otclient
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in
|
||||||
|
all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
|
THE SOFTWARE.
|
|
@ -45,6 +45,10 @@ panels:
|
||||||
bottom left corner: [43,230,5,5]
|
bottom left corner: [43,230,5,5]
|
||||||
bottom right corner: [48,231,5,5]
|
bottom right corner: [48,231,5,5]
|
||||||
center: [11,214,32,32]
|
center: [11,214,32,32]
|
||||||
|
|
||||||
|
flatPanel:
|
||||||
|
bordered image:
|
||||||
|
|
||||||
|
|
||||||
labels:
|
labels:
|
||||||
default:
|
default:
|
||||||
|
|
|
@ -0,0 +1,60 @@
|
||||||
|
window#infoWindow:
|
||||||
|
title: Info
|
||||||
|
size: [244, 221]
|
||||||
|
anchors.horizontalCenter: parent.horizontalCenter
|
||||||
|
anchors.verticalCenter: parent.verticalCenter
|
||||||
|
|
||||||
|
panel#infoPanel:
|
||||||
|
skin: flatPanel
|
||||||
|
size: [208, 129]
|
||||||
|
anchors.left: parent.left
|
||||||
|
anchors.top: parent.top
|
||||||
|
margin.top: 32
|
||||||
|
margin.left: 24
|
||||||
|
|
||||||
|
label#infoLabel:
|
||||||
|
size: [218, 83]
|
||||||
|
align: center
|
||||||
|
text: |
|
||||||
|
OTClient
|
||||||
|
Version 0.2.0
|
||||||
|
Copyright (C) 2011
|
||||||
|
Developed by edubart
|
||||||
|
|
||||||
|
separator#bottomSeparator:
|
||||||
|
orientation: horizontal
|
||||||
|
width: 190
|
||||||
|
anchors.left: parent.left
|
||||||
|
anchors.top: parent.top
|
||||||
|
margin.top: 83
|
||||||
|
margin.left: 9
|
||||||
|
|
||||||
|
label#websiteLabel:
|
||||||
|
text: Official Website
|
||||||
|
anchors.left: parent.left
|
||||||
|
anchors.top: parent.top
|
||||||
|
margin.top: 105
|
||||||
|
margin.left: 8
|
||||||
|
|
||||||
|
button#websiteButton:
|
||||||
|
text: github.com/otclient
|
||||||
|
anchors.left: parent.left
|
||||||
|
anchors.top: parent.top
|
||||||
|
margin.top: 99
|
||||||
|
margin.left: 131
|
||||||
|
|
||||||
|
separator#bottomSeparator:
|
||||||
|
orientation: horizontal
|
||||||
|
width: 218
|
||||||
|
anchors.left: parent.left
|
||||||
|
anchors.top: parent.top
|
||||||
|
margin.top: 181
|
||||||
|
margin.left: 13
|
||||||
|
|
||||||
|
button#okButton:
|
||||||
|
text: Ok
|
||||||
|
size: [43, 20]
|
||||||
|
anchors.left: parent.left
|
||||||
|
anchors.top: parent.top
|
||||||
|
margin.top: 191
|
||||||
|
margin.left: 188
|
|
@ -1,6 +1,6 @@
|
||||||
panel#mainMenu:
|
panel#mainMenu:
|
||||||
skin: roundedGridPanel
|
skin: roundedGridPanel
|
||||||
size: [118, 172]
|
size: [117, 171]
|
||||||
anchors.left: parent.left
|
anchors.left: parent.left
|
||||||
anchors.bottom: parent.bottom
|
anchors.bottom: parent.bottom
|
||||||
margin.left: 60
|
margin.left: 60
|
||||||
|
|
|
@ -35,7 +35,7 @@ bool Configs::load(const std::string& fileName)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
std::string fileContents = g_resources.loadTextFile(fileName);
|
std::string fileContents = g_resources.loadTextFile(fileName);
|
||||||
if(fileContents.size())
|
if(!fileContents.size())
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
std::istringstream fin(fileContents);
|
std::istringstream fin(fileContents);
|
||||||
|
|
|
@ -133,7 +133,7 @@ void Engine::onClose()
|
||||||
void Engine::onResize(const Size& size)
|
void Engine::onResize(const Size& size)
|
||||||
{
|
{
|
||||||
g_graphics.resize(size);
|
g_graphics.resize(size);
|
||||||
UIContainer::getRootContainer()->setSize(Size(size.width()-1, size.height()-1));
|
UIContainer::getRootContainer()->setSize(size);
|
||||||
|
|
||||||
if(m_currentState)
|
if(m_currentState)
|
||||||
m_currentState->onResize(size);
|
m_currentState->onResize(size);
|
||||||
|
|
|
@ -30,8 +30,6 @@ void UIButtonSkin::load(const YAML::Node& node)
|
||||||
{
|
{
|
||||||
UIElementSkin::load(node);
|
UIElementSkin::load(node);
|
||||||
|
|
||||||
std::string tmp;
|
|
||||||
|
|
||||||
m_buttonDownImage = loadImage(node["down state"]);
|
m_buttonDownImage = loadImage(node["down state"]);
|
||||||
|
|
||||||
if(node["down state"].FindValue("text translate"))
|
if(node["down state"].FindValue("text translate"))
|
||||||
|
@ -40,8 +38,7 @@ void UIButtonSkin::load(const YAML::Node& node)
|
||||||
if(node.FindValue("mouse over state"))
|
if(node.FindValue("mouse over state"))
|
||||||
m_buttonHoverImage = loadImage(node["mouse over state"]);
|
m_buttonHoverImage = loadImage(node["mouse over state"]);
|
||||||
|
|
||||||
node["font"] >> tmp;
|
m_font = g_fonts.get(node["font"].Read<std::string>());
|
||||||
m_font = g_fonts.get(tmp);
|
|
||||||
|
|
||||||
node["text color"] >> m_textColor;
|
node["text color"] >> m_textColor;
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,7 @@
|
||||||
|
#include "uicheckbox.h"
|
||||||
|
|
||||||
|
UICheckBox::UICheckBox(UI::EElementType type): UIElement(type)
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
|
@ -0,0 +1,14 @@
|
||||||
|
#ifndef UICHECKBOX_H
|
||||||
|
#define UICHECKBOX_H
|
||||||
|
|
||||||
|
#include <ui/uielement.h>
|
||||||
|
|
||||||
|
|
||||||
|
class UICheckBox : public UIElement
|
||||||
|
{
|
||||||
|
|
||||||
|
public:
|
||||||
|
UICheckBox(UI::EElementType type = UI::Element);
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // UICHECKBOX_H
|
|
@ -0,0 +1,2 @@
|
||||||
|
#include "uicheckboxskin.h"
|
||||||
|
|
|
@ -0,0 +1,8 @@
|
||||||
|
#ifndef UICHECKBOXSKIN_H
|
||||||
|
#define UICHECKBOXSKIN_H
|
||||||
|
|
||||||
|
class UICheckBoxSkin
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // UICHECKBOXSKIN_H
|
|
@ -29,12 +29,10 @@
|
||||||
void UILabelSkin::load(const YAML::Node& node)
|
void UILabelSkin::load(const YAML::Node& node)
|
||||||
{
|
{
|
||||||
UIElementSkin::load(node);
|
UIElementSkin::load(node);
|
||||||
std::string tmp;
|
|
||||||
|
|
||||||
if(node.FindValue("font")) {
|
if(node.FindValue("font"))
|
||||||
node["font"] >> tmp;
|
m_font = g_fonts.get(node["font"].Read<std::string>());
|
||||||
m_font = g_fonts.get(tmp);
|
else
|
||||||
} else
|
|
||||||
m_font = g_fonts.getDefaultFont();
|
m_font = g_fonts.getDefaultFont();
|
||||||
|
|
||||||
if(node.FindValue("text color"))
|
if(node.FindValue("text color"))
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
#include "uilinedecoration.h"
|
||||||
|
|
|
@ -0,0 +1,8 @@
|
||||||
|
#ifndef UILINEDECORATION_H
|
||||||
|
#define UILINEDECORATION_H
|
||||||
|
|
||||||
|
class UILineDecoration
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // UILINEDECORATION_H
|
|
@ -0,0 +1,2 @@
|
||||||
|
#include "uilinedecorationskin.h"
|
||||||
|
|
|
@ -0,0 +1,8 @@
|
||||||
|
#ifndef UILINEDECORATIONSKIN_H
|
||||||
|
#define UILINEDECORATIONSKIN_H
|
||||||
|
|
||||||
|
class UILineDecorationSkin
|
||||||
|
{
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif // UILINEDECORATIONSKIN_H
|
|
@ -142,8 +142,6 @@ void UILoader::loadElements(const UIElementPtr& parent, const YAML::Node& node)
|
||||||
|
|
||||||
void UILoader::loadElement(const UIElementPtr& element, const YAML::Node& node)
|
void UILoader::loadElement(const UIElementPtr& element, const YAML::Node& node)
|
||||||
{
|
{
|
||||||
std::string tmp;
|
|
||||||
|
|
||||||
if(node.FindValue("skin"))
|
if(node.FindValue("skin"))
|
||||||
element->setSkin(g_uiSkins.getElementSkin(element->getElementType(), node["skin"]));
|
element->setSkin(g_uiSkins.getElementSkin(element->getElementType(), node["skin"]));
|
||||||
|
|
||||||
|
@ -195,18 +193,15 @@ void UILoader::loadElement(const UIElementPtr& element, const YAML::Node& node)
|
||||||
// load specific element type
|
// load specific element type
|
||||||
if(element->getElementType() == UI::Button) {
|
if(element->getElementType() == UI::Button) {
|
||||||
UIButtonPtr button = boost::static_pointer_cast<UIButton>(element);
|
UIButtonPtr button = boost::static_pointer_cast<UIButton>(element);
|
||||||
node["text"] >> tmp;
|
button->setText(node["text"].Read<std::string>());
|
||||||
button->setText(tmp);
|
|
||||||
}
|
}
|
||||||
else if(element->getElementType() == UI::Window) {
|
else if(element->getElementType() == UI::Window) {
|
||||||
UIWindowPtr window = boost::static_pointer_cast<UIWindow>(element);
|
UIWindowPtr window = boost::static_pointer_cast<UIWindow>(element);
|
||||||
node["title"] >> tmp;
|
window->setTitle(node["title"].Read<std::string>());
|
||||||
window->setTitle(tmp);
|
|
||||||
}
|
}
|
||||||
else if(element->getElementType() == UI::Label) {
|
else if(element->getElementType() == UI::Label) {
|
||||||
UILabelPtr label = boost::static_pointer_cast<UILabel>(element);
|
UILabelPtr label = boost::static_pointer_cast<UILabel>(element);
|
||||||
node["text"] >> tmp;
|
label->setText(node["text"].Read<std::string>());
|
||||||
label->setText(tmp);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -29,11 +29,9 @@
|
||||||
void UITextEditSkin::load(const YAML::Node& node)
|
void UITextEditSkin::load(const YAML::Node& node)
|
||||||
{
|
{
|
||||||
UIElementSkin::load(node);
|
UIElementSkin::load(node);
|
||||||
std::string tmp;
|
|
||||||
|
|
||||||
if(node.FindValue("font")) {
|
if(node.FindValue("font")) {
|
||||||
node["font"] >> tmp;
|
m_font = g_fonts.get(node["font"].Read<std::string>());
|
||||||
m_font = g_fonts.get(tmp);
|
|
||||||
} else
|
} else
|
||||||
m_font = g_fonts.getDefaultFont();
|
m_font = g_fonts.getDefaultFont();
|
||||||
|
|
||||||
|
|
|
@ -77,8 +77,8 @@ public:
|
||||||
inline void setBottomLeft(const TPoint<T> &p) { x1 = p.x; y2 = p.y; }
|
inline void setBottomLeft(const TPoint<T> &p) { x1 = p.x; y2 = p.y; }
|
||||||
inline void setWidth(T width) { x2 = x1 + width - 1; }
|
inline void setWidth(T width) { x2 = x1 + width - 1; }
|
||||||
inline void setHeight(T height) { y2 = y1 + height- 1; }
|
inline void setHeight(T height) { y2 = y1 + height- 1; }
|
||||||
inline void setSize(T width, T height) { x2 = x1 + width; y2 = y1 + height; }
|
inline void setSize(T width, T height) { x2 = x1 + width - 1; y2 = y1 + height - 1; }
|
||||||
inline void setSize(const TSize<T>& size) { x2 = x1 + size.width(); y2 = y1 + size.height(); }
|
inline void setSize(const TSize<T>& size) { x2 = x1 + size.width() - 1; y2 = y1 + size.height() - 1; }
|
||||||
inline void setRect(T x, T y, T width, T height) { x1 = x; y1 = y; x2 = (x + width - 1); y2 = (y + height - 1); }
|
inline void setRect(T x, T y, T width, T height) { x1 = x; y1 = y; x2 = (x + width - 1); y2 = (y + height - 1); }
|
||||||
inline void setCoords(int left, int top, int right, int bottom) { x1 = left; y1 = top; x2 = right; y2 = bottom; }
|
inline void setCoords(int left, int top, int right, int bottom) { x1 = left; y1 = top; x2 = right; y2 = bottom; }
|
||||||
|
|
||||||
|
|
|
@ -38,7 +38,7 @@ template <class T>
|
||||||
class TSize
|
class TSize
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
inline TSize() : wd(-1), ht(-1) {};
|
inline TSize() : wd(0), ht(0) {};
|
||||||
inline TSize(T width, T height) : wd(width), ht(height) { };
|
inline TSize(T width, T height) : wd(width), ht(height) { };
|
||||||
inline TSize(const TSize<T>& other) : wd(other.wd), ht(other.ht) { };
|
inline TSize(const TSize<T>& other) : wd(other.wd), ht(other.ht) { };
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue