parent
cca746e2f8
commit
f542e933b2
|
@ -95,7 +95,7 @@ bool GLFontEngine::fontSelect(std::string fontstr) {
|
|||
else {
|
||||
//fallbackfont - ersten aus der liste
|
||||
font = (++fontpool.begin())->second;
|
||||
std::cout << "font: " << font << std::endl;
|
||||
// std::cout << "font: " << font << std::endl;
|
||||
}
|
||||
|
||||
return true;
|
||||
|
@ -158,6 +158,8 @@ void GLFontEngine::renderLine(std::string text, SDL_Rect pos) {
|
|||
|
||||
void GLFontEngine::renderLine(std::string str, int x, int y, bool center, SDL_Rect *rendered_to) {
|
||||
|
||||
glEnable(GL_TEXTURE_2D);
|
||||
|
||||
SDL_Rect m = { x, y, getTextWidth(str), fsize};
|
||||
|
||||
if(center)
|
||||
|
|
|
@ -5,14 +5,31 @@ MenuItem::MenuItem(std::string c) {
|
|||
fontsizeadd = 0;
|
||||
fontname = "menufont";
|
||||
usevalue = false;
|
||||
selectable = true;
|
||||
grey = false;
|
||||
novaluecenter = false;
|
||||
|
||||
fontengine.fontSelect(fontname);
|
||||
}
|
||||
|
||||
void MenuItem::render(Punkt2D pos, bool center, int basefontsize, int maxwidth, int valuewidth, bool highlight) {
|
||||
std::string MenuItem::getValue() {
|
||||
return value;
|
||||
}
|
||||
|
||||
std::string MenuItem::getCaption() {
|
||||
return caption;
|
||||
}
|
||||
|
||||
void MenuItem::setCaption(std::string str) {
|
||||
caption = str;
|
||||
}
|
||||
|
||||
void MenuItem::render(Punkt2D pos, bool center, int basefontsize, int maxwidth, int valuewidth, bool highlight, int caplen, int vallen) {
|
||||
fontengine.setSize(basefontsize+fontsizeadd);
|
||||
if(highlight)
|
||||
fontengine.setColor(1.0f, 0.0f, 0.0f);
|
||||
else if(grey)
|
||||
fontengine.setColor(0.8f, 0.8f, 0.8f);
|
||||
else
|
||||
fontengine.setColor(1.0f, 1.0f, 1.0f);
|
||||
|
||||
|
@ -21,18 +38,33 @@ void MenuItem::render(Punkt2D pos, bool center, int basefontsize, int maxwidth,
|
|||
} else {
|
||||
// center und position ggf. überarbeiten..
|
||||
|
||||
Punkt2D tmp;
|
||||
tmp = pos - valuewidth/2 - fontengine.getTextWidth(caption)/2;
|
||||
Punkt2D tmp = pos;
|
||||
|
||||
tmp.x = pos.x - valuewidth/2 - fontengine.getTextWidth(caption)/2;
|
||||
fontengine.renderLine(caption, tmp.x, tmp.y, center);
|
||||
tmp = pos + valuewidth/2;
|
||||
|
||||
tmp.x = pos.x + valuewidth/2;
|
||||
fontengine.renderLine(value, tmp.x, tmp.y, false);
|
||||
// std::cout << "Value: " << value << std::endl;
|
||||
}
|
||||
}
|
||||
|
||||
bool MenuItem::isSelectable() {
|
||||
return (!grey)&&selectable;
|
||||
}
|
||||
|
||||
void MenuItem::setFontSizeAdd(int fsa) {
|
||||
fontsizeadd = fsa;
|
||||
}
|
||||
|
||||
int MenuItem::getFontSizeAdd() {
|
||||
return fontsizeadd;
|
||||
}
|
||||
|
||||
void MenuItem::greyItem(bool _grey) {
|
||||
grey = _grey;
|
||||
}
|
||||
|
||||
MenuItem::~MenuItem() {
|
||||
|
||||
|
||||
|
|
|
@ -13,18 +13,31 @@ class MenuItem {
|
|||
GLFontEngine fontengine;
|
||||
std::string fontname;
|
||||
int fontsizeadd;
|
||||
bool grey;
|
||||
|
||||
bool usevalue;
|
||||
bool selectable;
|
||||
bool novaluecenter;
|
||||
public:
|
||||
MenuItem(std::string);
|
||||
virtual ~MenuItem();
|
||||
|
||||
std::string getValue();
|
||||
std::string getCaption();
|
||||
void setCaption(std::string str);
|
||||
|
||||
virtual void left() { };
|
||||
virtual void right() { };
|
||||
virtual void select() { };
|
||||
int getFontSizeAdd();
|
||||
virtual void charInput(char c) { };
|
||||
|
||||
virtual void render(Punkt2D pos, bool center, int basefontsize, int maxwidth, int valuewidth, bool highlight);
|
||||
void setFontSizeAdd(int fsa);
|
||||
int getFontSizeAdd();
|
||||
bool isSelectable();
|
||||
void greyItem(bool _grey);
|
||||
void noValueCenter(bool _vc);
|
||||
|
||||
virtual void render(Punkt2D pos, bool center, int basefontsize, int maxwidth, int valuewidth, bool highlight, int caplen, int vallen);
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
|
@ -1,9 +1,182 @@
|
|||
#include "menuitems.h"
|
||||
|
||||
// MISendSDLEvent
|
||||
|
||||
MISendSDLEvent::MISendSDLEvent(std::string str, SDL_Event event) : MenuItem(str) {
|
||||
sendevent = event;
|
||||
resetEvent(event);
|
||||
}
|
||||
|
||||
void MISendSDLEvent::select() {
|
||||
SDL_PushEvent(&sendevent);
|
||||
}
|
||||
|
||||
void MISendSDLEvent::resetEvent(SDL_Event event) {
|
||||
sendevent = event;
|
||||
}
|
||||
|
||||
// MITextLabel
|
||||
|
||||
MITextLabel::MITextLabel(std::string str) : MenuItem(str) {
|
||||
selectable = false;
|
||||
}
|
||||
|
||||
// MIValueLabel
|
||||
|
||||
MIValueLabel::MIValueLabel(std::string str) : MenuItem(str) {
|
||||
selectable = false;
|
||||
usevalue = true;
|
||||
}
|
||||
|
||||
void MIValueLabel::setValue(std::string _val) {
|
||||
value = _val;
|
||||
}
|
||||
|
||||
// MIToggle
|
||||
|
||||
MIToggle::MIToggle(std::string str) : MenuItem(str) {
|
||||
usevalue = true;
|
||||
togglepos = 0;
|
||||
}
|
||||
|
||||
void MIToggle::left() {
|
||||
togglepos--;
|
||||
if(togglepos<0)
|
||||
togglepos = toggles.size()-1;
|
||||
value = getValueString();
|
||||
}
|
||||
|
||||
void MIToggle::right() {
|
||||
togglepos++;
|
||||
if(togglepos>=toggles.size())
|
||||
togglepos = 0;
|
||||
value = getValueString();
|
||||
}
|
||||
|
||||
void MIToggle::select() {
|
||||
right();
|
||||
}
|
||||
|
||||
void MIToggle::addToggle(std::string str) {
|
||||
toggles.push_back(str);
|
||||
if(toggles.size()==1) {
|
||||
value = getValueString();
|
||||
}
|
||||
}
|
||||
|
||||
int MIToggle::getValueInt() {
|
||||
return togglepos;
|
||||
}
|
||||
|
||||
void MIToggle::setValueInt(int val) {
|
||||
if(val<0||val>=toggles.size())
|
||||
return;
|
||||
togglepos = val;
|
||||
value = getValueString();
|
||||
}
|
||||
|
||||
void MIToggle::setValueString(std::string str) {
|
||||
for(unsigned int t=0; t<toggles.size(); t++) {
|
||||
std::cout << str << " == " << toggles[t] << std::endl;
|
||||
if(str==toggles[t]) {
|
||||
togglepos = t;
|
||||
value = getValueString();
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
std::string MIToggle::getValueString() {
|
||||
if(toggles.size()==0)
|
||||
return "";
|
||||
return toggles[togglepos];
|
||||
}
|
||||
|
||||
// MIStringInput
|
||||
|
||||
MIStringInput::MIStringInput(std::string str, int _maxlen) : MenuItem(str) {
|
||||
usevalue = true;
|
||||
maxlen = _maxlen;
|
||||
}
|
||||
|
||||
void MIStringInput::charInput(char c) {
|
||||
// std::cout << "INPUT: " << c << ", maxlen" << maxlen << std::endl;
|
||||
if(c=='\b') {
|
||||
if(value.length()>0) {
|
||||
value = value.substr(0, value.length()-1);
|
||||
}
|
||||
} else if(c>=32) {
|
||||
if(!maxlen || value.length()<maxlen)
|
||||
value +=c;
|
||||
// std::cout << maxlen << " && " << value.length() << " < " << maxlen << std::endl;
|
||||
}
|
||||
}
|
||||
|
||||
void MIStringInput::setValue(std::string str) {
|
||||
value = str;
|
||||
}
|
||||
|
||||
std::string MIStringInput::getValue() {
|
||||
return value;
|
||||
}
|
||||
|
||||
// MICheckbox
|
||||
|
||||
MICheckBox::MICheckBox(std::string str) : MenuItem(str) {
|
||||
usevalue = true;
|
||||
}
|
||||
|
||||
bool MICheckBox::isChecked() {
|
||||
return state;
|
||||
}
|
||||
|
||||
void MICheckBox::setState(bool _state) {
|
||||
state = _state;
|
||||
updateValue();
|
||||
}
|
||||
|
||||
void MICheckBox::select() {
|
||||
right();
|
||||
}
|
||||
|
||||
void MICheckBox::right() {
|
||||
state = !state;
|
||||
updateValue();
|
||||
}
|
||||
|
||||
void MICheckBox::left() {
|
||||
state = !state;
|
||||
updateValue();
|
||||
}
|
||||
|
||||
void MICheckBox::updateValue() {
|
||||
value = state ? "An" : "Aus";
|
||||
}
|
||||
|
||||
// MIEventOnToggle
|
||||
|
||||
MIEventOnToggle::MIEventOnToggle(std::string str, SDL_Event event) : MIToggle(str) {
|
||||
resetEvent(event);
|
||||
}
|
||||
|
||||
void MIEventOnToggle::sendEvent() {
|
||||
SDL_PushEvent(&sendevent);
|
||||
}
|
||||
|
||||
void MIEventOnToggle::select() {
|
||||
MIToggle::select();
|
||||
sendEvent();
|
||||
}
|
||||
|
||||
void MIEventOnToggle::left() {
|
||||
MIToggle::left();
|
||||
sendEvent();
|
||||
}
|
||||
|
||||
void MIEventOnToggle::right() {
|
||||
MIToggle::right();
|
||||
sendEvent();
|
||||
}
|
||||
|
||||
void MIEventOnToggle::resetEvent(SDL_Event event) {
|
||||
sendevent = event;
|
||||
}
|
||||
|
|
|
@ -1,6 +1,8 @@
|
|||
#ifndef __MENUITEMS_H
|
||||
#define __MENUITEMS_H
|
||||
|
||||
#include <string>
|
||||
#include <vector>
|
||||
#include <SDL.h>
|
||||
#include "menuitem.h"
|
||||
|
||||
|
@ -11,7 +13,83 @@ class MISendSDLEvent : public MenuItem {
|
|||
MISendSDLEvent(std::string str, SDL_Event event);
|
||||
|
||||
void select();
|
||||
void resetEvent(SDL_Event event);
|
||||
};
|
||||
|
||||
class MITextLabel : public MenuItem {
|
||||
private:
|
||||
|
||||
public:
|
||||
MITextLabel(std::string str);
|
||||
|
||||
};
|
||||
|
||||
class MIValueLabel : public MenuItem {
|
||||
private:
|
||||
|
||||
public:
|
||||
MIValueLabel(std::string str);
|
||||
void setValue(std::string);
|
||||
};
|
||||
|
||||
class MIToggle : public MenuItem {
|
||||
private:
|
||||
std::vector<std::string> toggles;
|
||||
int togglepos;
|
||||
public:
|
||||
MIToggle(std::string);
|
||||
|
||||
void left();
|
||||
void right();
|
||||
void select();
|
||||
|
||||
void addToggle(std::string);
|
||||
|
||||
int getValueInt();
|
||||
void setValueInt(int val);
|
||||
std::string getValueString();
|
||||
void setValueString(std::string str);
|
||||
|
||||
};
|
||||
|
||||
class MIStringInput : public MenuItem {
|
||||
private:
|
||||
int maxlen;
|
||||
public:
|
||||
MIStringInput(std::string str, int _maxlen=0);
|
||||
void charInput(char c);
|
||||
void setValue(std::string str);
|
||||
std::string getValue();
|
||||
|
||||
};
|
||||
|
||||
class MICheckBox : public MenuItem {
|
||||
private:
|
||||
bool state;
|
||||
|
||||
void updateValue();
|
||||
public:
|
||||
MICheckBox(std::string str);
|
||||
|
||||
bool isChecked();
|
||||
void setState(bool _state);
|
||||
void select();
|
||||
void right();
|
||||
void left();
|
||||
};
|
||||
|
||||
class MIEventOnToggle : public MIToggle {
|
||||
private:
|
||||
SDL_Event sendevent;
|
||||
void sendEvent();
|
||||
public:
|
||||
MIEventOnToggle(std::string str, SDL_Event event);
|
||||
|
||||
void select();
|
||||
void left();
|
||||
void right();
|
||||
|
||||
void resetEvent(SDL_Event event);
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
|
@ -14,12 +14,17 @@ bool MenuManager::changeMenu(MenuMenu *mm) {
|
|||
for(unsigned int i=0; i<menus.size(); i++) {
|
||||
if(menus[i]==mm) {
|
||||
aktuell = mm;
|
||||
aktuell->resetItemPos();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
const MenuMenu* MenuManager::getMenu() {
|
||||
return aktuell;
|
||||
}
|
||||
|
||||
void MenuManager::render() {
|
||||
glEnable(GL_TEXTURE_2D);
|
||||
GLFontEngine::prepare2DbyPushingMatrix();
|
||||
|
@ -52,3 +57,15 @@ void MenuManager::select() {
|
|||
if(aktuell)
|
||||
aktuell->select();
|
||||
}
|
||||
|
||||
void MenuManager::charInput(char c) {
|
||||
if(aktuell)
|
||||
aktuell->charInput(c);
|
||||
}
|
||||
|
||||
void MenuManager::reset() {
|
||||
if(aktuell) {
|
||||
aktuell->resetItemPos();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -17,6 +17,7 @@ class MenuManager {
|
|||
|
||||
void addMenu(MenuMenu*);
|
||||
bool changeMenu(MenuMenu*);
|
||||
const MenuMenu* getMenu();
|
||||
void render();
|
||||
|
||||
void up();
|
||||
|
@ -24,6 +25,10 @@ class MenuManager {
|
|||
void left();
|
||||
void right();
|
||||
void select();
|
||||
void charInput(char c);
|
||||
|
||||
|
||||
void reset();
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
|
@ -4,6 +4,8 @@ MenuMenu::MenuMenu() {
|
|||
itempos = 0;
|
||||
centermenu = false;
|
||||
centerScreenX = false;
|
||||
dohighlight = true;
|
||||
paintbackground = true;
|
||||
basefontsize = 20;
|
||||
maxwidth = 0;
|
||||
valuewidth = 100;
|
||||
|
@ -32,22 +34,30 @@ void MenuMenu::setMaxWidth(int _mw) {
|
|||
maxwidth = _mw;
|
||||
}
|
||||
|
||||
void MenuMenu::setPaintBackground(bool _pbg) {
|
||||
paintbackground = _pbg;
|
||||
}
|
||||
|
||||
void MenuMenu::addMenuItem(MenuItem* mi) {
|
||||
menuitems.push_back(mi);
|
||||
}
|
||||
|
||||
void MenuMenu::up() {
|
||||
if(itempos==0)
|
||||
itempos = menuitems.size()-1;
|
||||
else
|
||||
itempos--;
|
||||
do {
|
||||
if(itempos==0)
|
||||
itempos = menuitems.size()-1;
|
||||
else
|
||||
itempos--;
|
||||
} while(!menuitems[itempos]->isSelectable());
|
||||
}
|
||||
|
||||
void MenuMenu::down() {
|
||||
if(itempos==menuitems.size()-1)
|
||||
itempos = 0;
|
||||
else
|
||||
itempos++;
|
||||
do {
|
||||
if(itempos==menuitems.size()-1)
|
||||
itempos = 0;
|
||||
else
|
||||
itempos++;
|
||||
} while(!menuitems[itempos]->isSelectable());
|
||||
}
|
||||
|
||||
void MenuMenu::left() {
|
||||
|
@ -62,6 +72,19 @@ void MenuMenu::select() {
|
|||
menuitems[itempos]->select();
|
||||
}
|
||||
|
||||
void MenuMenu::charInput(char c) {
|
||||
menuitems[itempos]->charInput(c);
|
||||
}
|
||||
|
||||
void MenuMenu::resetItemPos() {
|
||||
dohighlight = true;
|
||||
for(itempos = 0; itempos<menuitems.size()&&!menuitems[itempos]->isSelectable(); itempos++);
|
||||
if(itempos==menuitems.size()) {
|
||||
itempos = 0;
|
||||
dohighlight = false;
|
||||
}
|
||||
}
|
||||
|
||||
void MenuMenu::render() {
|
||||
Punkt2D pos = menupos;
|
||||
if(centerScreenX) {
|
||||
|
@ -69,8 +92,31 @@ void MenuMenu::render() {
|
|||
pos.x = screen->w/2;
|
||||
}
|
||||
|
||||
int clen=0, vlen=0, height=0;
|
||||
for(unsigned int i=0; i<menuitems.size(); i++) {
|
||||
menuitems[i]->render(pos, centermenu, basefontsize, maxwidth, valuewidth, itempos==i);
|
||||
fontengine.setSize(basefontsize+menuitems[i]->getFontSizeAdd());
|
||||
|
||||
clen = std::max(clen, fontengine.getTextWidth(menuitems[i]->getCaption()));
|
||||
vlen = std::max(vlen, fontengine.getTextWidth(menuitems[i]->getValue()));
|
||||
height += basefontsize + menuitems[i]->getFontSizeAdd() + offset;
|
||||
}
|
||||
|
||||
std::cout << "clen: " << clen << " und " << (int) paintbackground << std::endl;
|
||||
|
||||
if(paintbackground&&false) {
|
||||
// geht noch nicht ganz
|
||||
glDisable(GL_TEXTURE_2D);
|
||||
glColor3f(0.4f, 0.4f, 0.4f);
|
||||
SDL_Rect bgarea = { pos.x-(clen/2)-((vlen>0)?(valuewidth/2+vlen/2):0),
|
||||
pos.y,
|
||||
clen+((vlen>0)?vlen/2+valuewidth/2:0),
|
||||
height };
|
||||
std::cout << bgarea.x << " " << bgarea.y << " " << bgarea.w << " " << bgarea.h << std::endl;
|
||||
GLFontEngine::paintSDLRect(bgarea);
|
||||
}
|
||||
|
||||
for(unsigned int i=0; i<menuitems.size(); i++) {
|
||||
menuitems[i]->render(pos, centermenu, basefontsize, maxwidth, valuewidth, (itempos==i)&&dohighlight, clen, vlen);
|
||||
pos.y += basefontsize + menuitems[i]->getFontSizeAdd() + offset;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -14,10 +14,13 @@ class MenuMenu {
|
|||
Punkt2D menupos;
|
||||
bool centermenu;
|
||||
bool centerScreenX;
|
||||
bool dohighlight;
|
||||
bool paintbackground;
|
||||
int basefontsize;
|
||||
int offset;
|
||||
int maxwidth;
|
||||
int valuewidth;
|
||||
GLFontEngine fontengine;
|
||||
public:
|
||||
MenuMenu();
|
||||
|
||||
|
@ -26,12 +29,16 @@ class MenuMenu {
|
|||
void setCenterScreenX(bool);
|
||||
void setBaseFontSize(int);
|
||||
void setMaxWidth(int);
|
||||
void setPaintBackground(bool);
|
||||
|
||||
void up();
|
||||
void down();
|
||||
void left();
|
||||
void right();
|
||||
void select();
|
||||
void charInput(char c);
|
||||
|
||||
void resetItemPos();
|
||||
|
||||
|
||||
void addMenuItem(MenuItem*);
|
||||
|
|
|
@ -32,6 +32,9 @@ int GLSDLScreen::getFlags() {
|
|||
videoflags |= SDL_HWPALETTE;
|
||||
}
|
||||
|
||||
if(fullscreen)
|
||||
videoflags |= SDL_FULLSCREEN;
|
||||
|
||||
return videoflags;
|
||||
}
|
||||
void GLSDLScreen::enableOpenGL(bool w) {
|
||||
|
@ -68,6 +71,13 @@ void GLSDLScreen::setVideoMode(int _width, int _height, int _bpp) {
|
|||
height = 1;
|
||||
}
|
||||
|
||||
void GLSDLScreen::getVideoRes(std::string vidstr, int *_w, int *_h) {
|
||||
if(_w)
|
||||
*_w = atoi(vidstr.substr(0, vidstr.find("x")).c_str());
|
||||
if(_h)
|
||||
*_h = atoi(vidstr.substr(vidstr.find("x")+1, (vidstr.length()-vidstr.find("x")-1)).c_str());
|
||||
}
|
||||
|
||||
bool GLSDLScreen::isOK() {
|
||||
return SDL_VideoModeOK(width, height, bpp, getFlags());
|
||||
}
|
||||
|
@ -111,10 +121,14 @@ bool GLSDLScreen::apply() {
|
|||
extraglparam();
|
||||
}
|
||||
|
||||
glMatrixMode(GL_MODELVIEW);
|
||||
|
||||
|
||||
// Texturen neuladen, eigentlich nur für Windows. Aber egal.
|
||||
GLTexture::reloadAll();
|
||||
glMatrixMode(GL_TEXTURE);
|
||||
glLoadIdentity();
|
||||
|
||||
glMatrixMode(GL_MODELVIEW);
|
||||
}
|
||||
|
||||
return true;
|
||||
|
@ -127,3 +141,12 @@ int GLSDLScreen::getWidth() {
|
|||
int GLSDLScreen::getHeight() {
|
||||
return height;
|
||||
}
|
||||
|
||||
void GLSDLScreen::clearScreen() {
|
||||
glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
|
||||
glLoadIdentity();
|
||||
}
|
||||
|
||||
void GLSDLScreen::renderScreen() {
|
||||
SDL_GL_SwapBuffers();
|
||||
}
|
||||
|
|
|
@ -27,6 +27,7 @@ class GLSDLScreen {
|
|||
void enableResizable(bool);
|
||||
void enableFullscreen(bool);
|
||||
void setVideoMode(int _width, int _height, int _bpp);
|
||||
static void getVideoRes(std::string vidstr, int *w, int *h);
|
||||
|
||||
void setGLNearFar(float _znear, float _zfar);
|
||||
void enableGLSetup(bool);
|
||||
|
@ -37,6 +38,9 @@ class GLSDLScreen {
|
|||
|
||||
int getWidth();
|
||||
int getHeight();
|
||||
|
||||
void clearScreen();
|
||||
void renderScreen();
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
|
@ -9,6 +9,7 @@ GLTexture::GLTexture(std::string fname, GLint _minfilter, GLint _magfilter, GLin
|
|||
init();
|
||||
setParameter(_minfilter, _magfilter, _wraps, _wrapt);
|
||||
loadImage(fname);
|
||||
filename = fname;
|
||||
|
||||
alltextures.push_back(this);
|
||||
}
|
||||
|
@ -128,17 +129,22 @@ bool GLTexture::setParameter(GLint _minfilter, GLint _magfilter, GLint _wraps, G
|
|||
if(!loaded)
|
||||
return true;
|
||||
|
||||
loaded = false;
|
||||
texconverted = false;
|
||||
|
||||
if(keepsurface&&tex!=0) {
|
||||
unloadTexture();
|
||||
return loadLocalSurface();
|
||||
} else if(filename!="") {
|
||||
return loadImage("filename");
|
||||
std::cout << "Filename: " << filename << std::endl;
|
||||
return loadImage(filename);
|
||||
} else {
|
||||
// keine datei, kein surface
|
||||
unloadTexture();
|
||||
std::cerr << "Couldn't reload GLTexture " << this << "- No surface, no file!" << std::endl;
|
||||
return false;
|
||||
}
|
||||
std::cout << "Texture reloaded" << std::endl;
|
||||
}
|
||||
|
||||
int GLTexture::getW() {
|
||||
|
@ -154,8 +160,9 @@ bool GLTexture::isLoaded() {
|
|||
}
|
||||
|
||||
void GLTexture::reloadAll() {
|
||||
for(unsigned int i=0; i<alltextures.size(); i++)
|
||||
for(unsigned int i=0; i<alltextures.size(); i++) {
|
||||
alltextures[i]->setParameter();
|
||||
}
|
||||
}
|
||||
|
||||
GLTexture::~GLTexture() {
|
||||
|
|
Loading…
Reference in New Issue