diff --git a/Makefile b/Makefile index cb358aec8..2f14e19f7 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,33 @@ +export CFLAGS = -Wall $(DEBUGFLAGS) $(BUILDFLAGS) +export CFLAGSEXT = $(DEBUGFLAGS) $(BUILDFLAGS) +export LDFLAGS = $(LINKFLAGS) +export LIBPATH = ./ +export VERSION = 0.7 +export CP = cp +export LN = ln +export LNFLAGS = -s -f +export AR = ar +export ARFLAGS = rcs +export DESTDIR = /usr +export DESTLIBDIR = $(DESTDIR)/lib +export DESTINCDIR = $(DESTDIR)/include + +ifeq ($(DYNAMIC), yes) + LIB = libeepp.so + LIBNAME = $(LIBPATH)/$(LIB).$(VERSION) + INSTALL = && $(LN) $(LNFLAGS) $(DESTLIBDIR)/$(LIB).$(VERSION) $(DESTLIBDIR)/$(LIB) +else + LIB = libeepp-s.a + LIBNAME = $(LIBPATH)/$(LIB) + INSTALL = +endif + ifeq ($(DEBUGBUILD), yes) DEBUGFLAGS = -g -DDEBUG -DEE_DEBUG -DEE_MEMORY_MANAGER + RELEASETYPE = debug else DEBUGFLAGS = -O2 -s -DNDEBUG + RELEASETYPE = release endif ifeq ($(DYNAMIC), yes) @@ -20,19 +46,8 @@ export CC = llvm-gcc export CPP = llvm-g++ endif -export CFLAGS = -Wall $(DEBUGFLAGS) $(BUILDFLAGS) -export CFLAGSEXT = $(DEBUGFLAGS) $(BUILDFLAGS) -export LDFLAGS = $(LINKFLAGS) -export LIBPATH = ./ -export VERSION = 0.7 -export CP = cp -export LN = ln -export LNFLAGS = -s -f -export AR = ar -export ARFLAGS = rcs -export DESTDIR = /usr -export DESTLIBDIR = $(DESTDIR)/lib -export DESTINCDIR = $(DESTDIR)/include +STRLOWERCASE = $(subst A,a,$(subst B,b,$(subst C,c,$(subst D,d,$(subst E,e,$(subst F,f,$(subst G,g,$(subst H,h,$(subst I,i,$(subst J,j,$(subst K,k,$(subst L,l,$(subst M,m,$(subst N,n,$(subst O,o,$(subst P,p,$(subst Q,q,$(subst R,r,$(subst S,s,$(subst T,t,$(subst U,u,$(subst V,v,$(subst W,w,$(subst X,x,$(subst Y,y,$(subst Z,z,$1)))))))))))))))))))))))))) +OS = $(strip $(call STRLOWERCASE, $(shell uname) ) ) EXE = eetest EXEIV = eeiv @@ -57,6 +72,12 @@ SRCWINDOW = $(wildcard ./src/window/*.cpp) SRCTEST = $(wildcard ./src/test/*.cpp) SRCEEIV = $(wildcard ./src/eeiv/*.cpp) +SRCHELPERS = $(SRCGLEW) $(SRCSOIL) $(SRCSTBVORBIS) $(SRCZLIB) $(SRCLIBZIP) +SRCMODULES = $(SRCHAIKUTTF) $(SRCBASE) $(SRCAUDIO) $(SRCGAMING) $(SRCGRAPHICS) $(SRCMATH) $(SRCSYSTEM) $(SRCUI) $(SRCUTILS) $(SRCWINDOW) +SRCALL = $(SRCMODULES) $(SRCHELPERS) $(SRCTEST) $(SRCEEIV) +SRCHPPALL = $(SRCALL:.cpp=.hpp) +SRCHALL = $(SRCALL:.c=.h) + OBJGLEW = $(SRCGLEW:.c=.o) OBJSOIL = $(SRCSOIL:.c=.o) OBJSTBVORBIS = $(SRCSTBVORBIS:.c=.o) @@ -80,55 +101,63 @@ OBJMODULES = $(OBJHAIKUTTF) $(OBJBASE) $(OBJUTILS) $(OBJMATH) $(OBJSYSTEM) $(O OBJTEST = $(SRCTEST:.cpp=.o) OBJEEIV = $(SRCEEIV:.cpp=.o) -ifeq ($(DYNAMIC), yes) - LIB = libeepp.so - LIBNAME = $(LIBPATH)/$(LIB).$(VERSION) - INSTALL = && $(LN) $(LNFLAGS) $(DESTLIBDIR)/$(LIB).$(VERSION) $(DESTLIBDIR)/$(LIB) -else - LIB = libeepp-s.a - LIBNAME = $(LIBPATH)/$(LIB) - INSTALL = -endif +OBJDIR = obj/$(OS)/$(RELEASETYPE)/ -all: $(LIB) +FOBJHELPERS = $(patsubst ./%, $(OBJDIR)%, $(OBJGLEW) $(OBJSOIL) $(OBJSTBVORBIS) $(OBJZLIB) $(OBJLIBZIP) ) +FOBJMODULES = $(patsubst ./%, $(OBJDIR)%, $(OBJHAIKUTTF) $(OBJBASE) $(OBJUTILS) $(OBJMATH) $(OBJSYSTEM) $(OBJAUDIO) $(OBJWINDOW) $(OBJGRAPHICS) $(OBJGAMING) $(OBJUI) ) -libeepp-s.a: $(OBJHELPERS) $(OBJMODULES) - $(AR) $(ARFLAGS) $(LIBNAME) $(OBJHELPERS) $(OBJMODULES) +FOBJTEST = $(patsubst ./%, $(OBJDIR)%, $(SRCTEST:.cpp=.o) ) +FOBJEEIV = $(patsubst ./%, $(OBJDIR)%, $(SRCEEIV:.cpp=.o) ) -libeepp.so: $(OBJHELPERS) $(OBJMODULES) - $(CPP) $(LDFLAGS) -Wl,-soname,$(LIB).$(VERSION) -o $(LIBNAME) $(OBJHELPERS) $(OBJMODULES) -lfreetype -lSDL -lsndfile -lopenal -lGL -lGLU +FOBJEEPP = $(FOBJMODULES) $(FOBJTEST) $(FOBJEEIV) +FOBJALL = $(FOBJHELPERS) $(FOBJEEPP) -$(OBJMODULES): %.o: %.cpp - $(CPP) -o $@ -c $< $(CFLAGS) -I/usr/include/freetype2 +DEPSEEPP = $(FOBJEEPP:.o=.d) +DEPSALL = $(FOBJALL:.o=.d) -$(OBJHELPERS): %.o: %.c - $(CC) -o $@ -c $< $(CFLAGSEXT) -DSTBI_FAILURE_USERMSG +lib: $(LIB) + +$(FOBJMODULES): + $(CPP) -o $@ -c $(patsubst $(OBJDIR)%.o,%.cpp,$@) $(CFLAGS) -I/usr/include/freetype2 + @$(CPP) -MT $@ -MM $(patsubst $(OBJDIR)%.o,%.cpp,$@) -I/usr/include/freetype2 > $(patsubst %.o,%.d,$@) + +$(FOBJHELPERS): + $(CC) -o $@ -c $(patsubst $(OBJDIR)%.o,%.c,$@) $(CFLAGSEXT) -DSTBI_FAILURE_USERMSG + @$(CC) -MT $@ -MM $(patsubst $(OBJDIR)%.o,%.c,$@) -DSTBI_FAILURE_USERMSG > $(patsubst %.o,%.d,$@) + +$(FOBJTEST): + $(CPP) -o $@ -c $(patsubst $(OBJDIR)%.o,%.cpp,$@) $(CFLAGS) -I/usr/include/freetype2 + @$(CPP) -MT $@ -MM $(patsubst $(OBJDIR)%.o,%.cpp,$@) -I/usr/include/freetype2 > $(patsubst %.o,%.d,$@) + +$(FOBJEEIV): + $(CPP) -o $@ -c $(patsubst $(OBJDIR)%.o,%.cpp,$@) $(CFLAGS) -I/usr/include/freetype2 + @$(CPP) -MT $@ -MM $(patsubst $(OBJDIR)%.o,%.cpp,$@) -I/usr/include/freetype2 > $(patsubst %.o,%.d,$@) + +$(EXEIV): $(FOBJHELPERS) $(FOBJMODULES) $(FOBJEEIV) + $(CPP) -o ./$(EXEIV) $(FOBJHELPERS) $(FOBJMODULES) $(FOBJEEIV) $(LDFLAGS) -lfreetype -lSDL -lsndfile -lopenal -lGL -lGLU -lX11 -lXcursor + +$(EXE): $(FOBJHELPERS) $(FOBJMODULES) $(FOBJTEST) + $(CPP) -o ./$(EXE) $(FOBJHELPERS) $(FOBJMODULES) $(FOBJTEST) $(LDFLAGS) -lfreetype -lSDL -lsndfile -lopenal -lGL -lGLU + +libeepp-s.a: $(FOBJHELPERS) $(FOBJMODULES) + $(AR) $(ARFLAGS) $(LIBNAME) $(FOBJHELPERS) $(FOBJMODULES) + +libeepp.so: $(FOBJHELPERS) $(FOBJMODULES) + $(CPP) $(LDFLAGS) -Wl,-soname,$(LIB).$(VERSION) -o $(LIBNAME) $(FOBJHELPERS) $(FOBJMODULES) -lfreetype -lSDL -lsndfile -lopenal -lGL -lGLU test: $(EXE) -$(EXE): $(OBJHELPERS) $(OBJMODULES) $(OBJTEST) - $(CPP) -o ./$(EXE) $(OBJHELPERS) $(OBJMODULES) $(OBJTEST) $(LDFLAGS) -lfreetype -lSDL -lsndfile -lopenal -lGL -lGLU - -$(OBJTEST): %.o: %.cpp - $(CPP) -o $@ -c $< $(CFLAGS) -I/usr/include/freetype2 - eeiv: $(EXEIV) -$(EXEIV): $(OBJHELPERS) $(OBJMODULES) $(OBJEEIV) - $(CPP) -o ./$(EXEIV) $(OBJHELPERS) $(OBJMODULES) $(OBJEEIV) $(LDFLAGS) -lfreetype -lSDL -lsndfile -lopenal -lGL -lGLU -lX11 -lXcursor - -$(OBJEEIV): %.o: %.cpp - $(CPP) -o $@ -c $< $(CFLAGS) -I/usr/include/freetype2 - docs: doxygen ./Doxyfile clean: - @rm -rf $(OBJHELPERS) $(OBJMODULES) $(OBJTEST) $(OBJEEIV) + @rm -rf $(FOBJALL) $(DEPSALL) cleantemp: - @rm -rf $(OBJMODULES) $(OBJTEST) $(OBJEEIV) - + @rm -rf $(FOBJEEPP) $(DEPSEEPP) + cleanall: clean @rm -rf $(LIBNAME) @rm -rf ./$(EXE) @@ -137,3 +166,5 @@ cleanall: clean install: @($(CP) $(LIBNAME) $(DESTLIBDIR) $(INSTALL)) + +-include $(DEPSALL) diff --git a/src/test/ee.cpp b/src/test/ee.cpp index 923a7a388..60cfa6686 100644 --- a/src/test/ee.cpp +++ b/src/test/ee.cpp @@ -363,6 +363,8 @@ void cEETest::OnFontLoaded( cResourceLoader * ObjLoaded ) { CreateUI(); + EE->Display(); + mFontsLoaded = true; } diff --git a/src/ui/cuievent.hpp b/src/ui/cuievent.hpp index 2b28ad24c..c407282f7 100644 --- a/src/ui/cuievent.hpp +++ b/src/ui/cuievent.hpp @@ -34,6 +34,7 @@ class EE_API cUIEvent { EventOnValueChange, EventOnSelected, EventOnComplexControlFocusLoss, + EventOnItemClicked, EventUser, EventForceDWord = 0xFFFFFFFF }; diff --git a/src/ui/cuimenu.cpp b/src/ui/cuimenu.cpp index 55081c9ee..099edb6fe 100644 --- a/src/ui/cuimenu.cpp +++ b/src/ui/cuimenu.cpp @@ -197,6 +197,13 @@ void cUIMenu::Insert( cUIControl * Control, const Uint32& Index ) { Uint32 cUIMenu::OnMessage( const cUIMessage * Msg ) { switch ( Msg->Msg() ) { + case cUIMessage::MsgClick: + { + cUIEvent ItemEvent( Msg->Sender(), cUIEvent::EventOnItemClicked ); + SendEvent( &ItemEvent ); + + return 1; + } case cUIMessage::MsgFocusLoss: { cUIControl * FocusCtrl = cUIManager::instance()->FocusControl(); @@ -274,13 +281,4 @@ void cUIMenu::ResizeMe() { Size( mSize.Width(), mNextPosY + mPadding.Top + mPadding.Bottom ); } -void cUIMenu::OnAlphaChange() { - cUIControlAnim::OnAlphaChange(); - - for ( Uint32 i = 0; i < mItems.size(); i++ ) { - if ( mItems[i]->IsType( UI_TYPE_CONTROL_ANIM ) ) - reinterpret_cast( mItems[i] )->Alpha( mAlpha ); - } -} - }} diff --git a/src/ui/cuimenu.hpp b/src/ui/cuimenu.hpp index 233fbc7f6..c0ff0cd28 100644 --- a/src/ui/cuimenu.hpp +++ b/src/ui/cuimenu.hpp @@ -103,8 +103,6 @@ class EE_API cUIMenu : public cUIControlAnim { cUIMenuItem * CreateMenuItem( const std::wstring& Text, cShape * Icon ); void DoAfterSetTheme(); - - virtual void OnAlphaChange(); }; }} diff --git a/src/ui/cuipopupmenu.cpp b/src/ui/cuipopupmenu.cpp index 666bba563..f5497d5b8 100644 --- a/src/ui/cuipopupmenu.cpp +++ b/src/ui/cuipopupmenu.cpp @@ -59,8 +59,6 @@ Uint32 cUIPopUpMenu::OnMessage( const cUIMessage * Msg ) { case cUIMessage::MsgClick: { Hide(); - - return 1; } } diff --git a/src/window/cengine.cpp b/src/window/cengine.cpp index ca2a35a2a..7d387fef4 100755 --- a/src/window/cengine.cpp +++ b/src/window/cengine.cpp @@ -383,7 +383,7 @@ void cEngine::ChangeRes( const Uint16& width, const Uint16& height, const bool& cShaderProgramManager::instance()->Reload(); // Reload all shaders cFrameBufferManager::instance()->Reload(); // Reload all frame buffers cVertexBufferManager::instance()->Reload(); // Reload all vertex buffers - GetMainContext(); // Recover the context + GetMainContext(); // Recover the context } #endif