From 896be4d28a7729474da1c7278c0f5aefdd060767 Mon Sep 17 00:00:00 2001 From: spartanj Date: Wed, 9 Feb 2011 03:30:05 -0300 Subject: [PATCH] Big changes here. Created a backend system for the window-input management. So now it will be a los easier to port to another windows library/platform. Since this is a big commit, it's probably that some bugs where introduced, but i tested all that i could, and it's working fine. I'll probably add a cursor manager backend because right now there is no cursor management at all, i removed the CreateCursor function because it was unusable. --- Makefile | 4 +- ee.creator | 1 + ee.creator.user | 660 ++++++++++ ee.linux.cbp | 222 +++- ee.win.cbp | 209 +++- src/audio/caudiodevice.cpp | 17 +- src/base.hpp | 35 +- src/ee.h | 4 +- src/gaming/cisomap.cpp | 27 +- src/gaming/cisomap.hpp | 5 +- src/graphics/cconsole.cpp | 94 +- src/graphics/cconsole.hpp | 6 +- src/graphics/cfont.cpp | 2 +- src/graphics/cframebuffer.cpp | 19 +- src/graphics/cframebuffer.hpp | 6 +- src/graphics/cframebufferfbo.cpp | 12 +- src/graphics/cframebufferfbo.hpp | 4 +- src/graphics/cframebufferpbuffer.cpp | 29 +- src/graphics/cframebufferpbuffer.hpp | 4 +- src/graphics/cparticlesystem.cpp | 10 +- src/graphics/cparticlesystem.hpp | 7 - src/graphics/renderer/cgl.cpp | 88 +- src/graphics/renderer/cgl.hpp | 34 +- src/helper/sophist/sophist.h | 187 +++ src/test/ee.cpp | 287 ++--- src/ui/cuimanager.cpp | 41 +- src/ui/cuimanager.hpp | 7 +- src/ui/cuiscrollbar.cpp | 2 +- src/ui/cuislider.cpp | 2 +- src/ui/cuispinbox.cpp | 2 +- src/ui/cuitextinput.cpp | 6 +- src/utils/utils.cpp | 17 +- src/utils/utils.hpp | 7 +- src/window/backend/SDL/cbackendsdl.hpp | 23 + src/window/backend/SDL/cclipboardsdl.cpp | 315 +++++ src/window/backend/SDL/cclipboardsdl.hpp | 40 + src/window/backend/SDL/cinputsdl.cpp | 192 +++ src/window/backend/SDL/cinputsdl.hpp | 31 + .../backend/SDL/cjoystickmanagersdl.cpp | 52 + .../backend/SDL/cjoystickmanagersdl.hpp | 26 + src/window/backend/SDL/cjoysticksdl.cpp | 80 ++ src/window/backend/SDL/cjoysticksdl.hpp | 34 + src/window/backend/SDL/cwindowsdl.cpp | 496 ++++++++ src/window/backend/SDL/cwindowsdl.hpp | 76 ++ src/window/backend/null/cbackendnull.hpp | 21 + src/window/backend/null/cclipboardnull.cpp | 31 + src/window/backend/null/cclipboardnull.hpp | 30 + src/window/backend/null/cinputnull.cpp | 30 + src/window/backend/null/cinputnull.hpp | 29 + .../backend/null/cjoystickmanagernull.cpp | 26 + .../backend/null/cjoystickmanagernull.hpp | 25 + src/window/backend/null/cjoysticknull.cpp | 39 + src/window/backend/null/cjoysticknull.hpp | 32 + src/window/backend/null/cwindownull.cpp | 100 ++ src/window/backend/null/cwindownull.hpp | 69 ++ src/window/base.hpp | 17 +- src/window/cbackend.hpp | 17 + src/window/cclipboard.cpp | 15 + src/window/cclipboard.hpp | 38 + src/window/cengine.cpp | 1086 ++--------------- src/window/cengine.hpp | 283 +---- src/window/cinput.cpp | 287 +++-- src/window/cinput.hpp | 113 +- src/window/cinputtextbuffer.cpp | 53 +- src/window/cinputtextbuffer.hpp | 8 +- src/window/cjoystick.cpp | 103 +- src/window/cjoystick.hpp | 60 +- src/window/cjoystickmanager.cpp | 43 +- src/window/cjoystickmanager.hpp | 23 +- src/window/cwindow.cpp | 308 +++++ src/window/cwindow.hpp | 329 +++++ src/window/inputevent.hpp | 157 +++ src/window/inputhelper.hpp | 299 ----- src/window/joycodes.hpp | 32 + src/window/keycodes.hpp | 310 +++++ 75 files changed, 5133 insertions(+), 2302 deletions(-) create mode 100644 ee.creator create mode 100644 ee.creator.user create mode 100644 src/helper/sophist/sophist.h create mode 100644 src/window/backend/SDL/cbackendsdl.hpp create mode 100644 src/window/backend/SDL/cclipboardsdl.cpp create mode 100644 src/window/backend/SDL/cclipboardsdl.hpp create mode 100644 src/window/backend/SDL/cinputsdl.cpp create mode 100644 src/window/backend/SDL/cinputsdl.hpp create mode 100644 src/window/backend/SDL/cjoystickmanagersdl.cpp create mode 100644 src/window/backend/SDL/cjoystickmanagersdl.hpp create mode 100644 src/window/backend/SDL/cjoysticksdl.cpp create mode 100644 src/window/backend/SDL/cjoysticksdl.hpp create mode 100644 src/window/backend/SDL/cwindowsdl.cpp create mode 100644 src/window/backend/SDL/cwindowsdl.hpp create mode 100644 src/window/backend/null/cbackendnull.hpp create mode 100644 src/window/backend/null/cclipboardnull.cpp create mode 100644 src/window/backend/null/cclipboardnull.hpp create mode 100644 src/window/backend/null/cinputnull.cpp create mode 100644 src/window/backend/null/cinputnull.hpp create mode 100644 src/window/backend/null/cjoystickmanagernull.cpp create mode 100644 src/window/backend/null/cjoystickmanagernull.hpp create mode 100644 src/window/backend/null/cjoysticknull.cpp create mode 100644 src/window/backend/null/cjoysticknull.hpp create mode 100644 src/window/backend/null/cwindownull.cpp create mode 100644 src/window/backend/null/cwindownull.hpp create mode 100644 src/window/cbackend.hpp create mode 100644 src/window/cclipboard.cpp create mode 100644 src/window/cclipboard.hpp mode change 100755 => 100644 src/window/cinput.hpp create mode 100644 src/window/cwindow.cpp create mode 100644 src/window/cwindow.hpp create mode 100644 src/window/inputevent.hpp create mode 100644 src/window/joycodes.hpp create mode 100644 src/window/keycodes.hpp diff --git a/Makefile b/Makefile index 1319eb55b..37eb7ea95 100644 --- a/Makefile +++ b/Makefile @@ -93,7 +93,7 @@ SRCMATH = $(wildcard ./src/math/*.cpp) SRCSYSTEM = $(wildcard ./src/system/*.cpp) SRCUI = $(wildcard ./src/ui/*.cpp) SRCUTILS = $(wildcard ./src/utils/*.cpp) -SRCWINDOW = $(wildcard ./src/window/*.cpp) +SRCWINDOW = $(wildcard ./src/window/*.cpp) $(wildcard ./src/window/backend/SDL/*.cpp) $(wildcard ./src/window/backend/null/*.cpp) SRCPHYSICS = $(wildcard ./src/physics/*.cpp) $(wildcard ./src/physics/constraints/*.cpp) SRCTEST = $(wildcard ./src/test/*.cpp) @@ -169,6 +169,8 @@ dirs: @mkdir -p $(OBJDIR)/src/ui @mkdir -p $(OBJDIR)/src/utils @mkdir -p $(OBJDIR)/src/window + @mkdir -p $(OBJDIR)/src/window/backend/SDL + @mkdir -p $(OBJDIR)/src/window/backend/null @mkdir -p $(OBJDIR)/src/physics @mkdir -p $(OBJDIR)/src/physics/constraints @mkdir -p $(OBJDIR)/src/test diff --git a/ee.creator b/ee.creator new file mode 100644 index 000000000..e94cbbd30 --- /dev/null +++ b/ee.creator @@ -0,0 +1 @@ +[General] diff --git a/ee.creator.user b/ee.creator.user new file mode 100644 index 000000000..b71c00d79 --- /dev/null +++ b/ee.creator.user @@ -0,0 +1,660 @@ + + + + GenericProjectManager.GenericProject.Toolchain + 0 + + + ProjectExplorer.Project.ActiveTarget + 0 + + + ProjectExplorer.Project.EditorSettings + + System + + + + ProjectExplorer.Project.Target.0 + + + + GenericProjectManager.GenericTarget + 0 + 0 + 0 + + /home/programming/projects/EE + + + + + -j4 + test + -e + DEBUGBUILD=yes + + + + + GenericProjectManager.GenericMakeStep + + 1 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + + -e + DEBUGBUILD=yes + clean + + /usr/bin/make + true + $BUILDDIR + clean + clean + ProjectExplorer.ProcessStep + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + debug-test + debug-test + GenericProjectManager.GenericBuildConfiguration + + + /home/programming/projects/EE + + + + + -j4 + test + -e + DEBUGBUILD=no + + + + + GenericProjectManager.GenericMakeStep + + 1 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + + -e + DEBUGBUILD=no + clean + + /usr/bin/make + true + $BUILDDIR + clean + clean + ProjectExplorer.ProcessStep + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + release-test + release-test + GenericProjectManager.GenericBuildConfiguration + + + /home/programming/projects/EE + + + + + -j4 + test + -e + DEBUGBUILD=yes + -e + GLES2=yes + + + + + GenericProjectManager.GenericMakeStep + + 1 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + + -e + DEBUGBUILD=yes + clean + + /usr/bin/make + true + $BUILDDIR + clean + clean + ProjectExplorer.ProcessStep + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + debug-test-gles2 + debug-test-gles2 + GenericProjectManager.GenericBuildConfiguration + + + /home/programming/projects/EE + + + + + -j4 + eeiv + -e + DEBUGBUILD=yes + + + + + GenericProjectManager.GenericMakeStep + + 1 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + + -e + DEBUGBUILD=yes + clean + + /usr/bin/make + true + $BUILDDIR + clean + clean + ProjectExplorer.ProcessStep + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + debug-eeiv + debug-eeiv + GenericProjectManager.GenericBuildConfiguration + + + /home/programming/projects/EE + + + + + -j4 + eeiv + -e + DEBUGBUILD=no + + + + + GenericProjectManager.GenericMakeStep + + 1 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + + -e + DEBUGBUILD=no + clean + + /usr/bin/make + true + $BUILDDIR + clean + clean + ProjectExplorer.ProcessStep + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + release-eeiv + release-eeiv + GenericProjectManager.GenericBuildConfiguration + + + /home/programming/projects/EE + + + + + -j4 + -e + DYNAMIC=no + -e + DEBUGBUILD=yes + + + + + GenericProjectManager.GenericMakeStep + + 1 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + + -e + DEBUGBUILD=yes + clean + + /usr/bin/make + true + $BUILDDIR + clean + clean + ProjectExplorer.ProcessStep + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + debug-static-lib + debug-static-lib + GenericProjectManager.GenericBuildConfiguration + + + /home/programming/projects/EE + + + + + -j4 + -e + DYNAMIC=no + -e + DEBUGBUILD=no + + + + + GenericProjectManager.GenericMakeStep + + 1 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + + -e + DEBUGBUILD=no + clean + + make + true + $BUILDDIR + clean + clean + ProjectExplorer.ProcessStep + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + release-static-lib + release-static-lib + GenericProjectManager.GenericBuildConfiguration + + + /home/programming/projects/EE + + + + + -j4 + -e + DYNAMIC=yes + -e + DEBUGBUILD=yes + + + + + GenericProjectManager.GenericMakeStep + + 1 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + + -e + DEBUGBUILD=yes + clean + + /usr/bin/make + true + $BUILDDIR + clean + clean + ProjectExplorer.ProcessStep + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + debug-dynamic-lib + debug-dynamic-lib + GenericProjectManager.GenericBuildConfiguration + + + /home/programming/projects/EE + + + + + -j4 + -e + DYNAMIC=yes + -e + DEBUGBUILD=no + + + + + GenericProjectManager.GenericMakeStep + + 1 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + + -e + DEBUGBUILD=no + clean + + make + true + $BUILDDIR + clean + clean + ProjectExplorer.ProcessStep + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + release-dynamic-lib + release-dynamic-lib + GenericProjectManager.GenericBuildConfiguration + + + /home/programming/projects/EE + + + + + -j4 + fluid + -e + DEBUGBUILD=yes + + + + + GenericProjectManager.GenericMakeStep + + 1 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + + -e + DEBUGBUILD=yes + clean + + /usr/bin/make + true + $BUILDDIR + clean + clean + ProjectExplorer.ProcessStep + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + debug-fluid + debug-fluid + GenericProjectManager.GenericBuildConfiguration + + + /home/programming/projects/EE + + + + + -j4 + fluid + + + + + GenericProjectManager.GenericMakeStep + + 1 + Build + Build + ProjectExplorer.BuildSteps.Build + + + + + -e + DEBUGBUILD=yes + clean + + /usr/bin/make + true + $BUILDDIR + clean + clean + ProjectExplorer.ProcessStep + + 1 + Clean + Clean + ProjectExplorer.BuildSteps.Clean + + 2 + false + + release-fluid + release-fluid + GenericProjectManager.GenericBuildConfiguration + + 11 + + + 0 + Deploy + Deploy + ProjectExplorer.BuildSteps.Deploy + + 1 + No deployment + No deployment + ProjectExplorer.DefaultDeployConfiguration + + 1 + + + 2 + /home/programming/projects/EE/eetest-debug + false + + /home/programming/projects/EE + eetest-debug + eetest-debug + ProjectExplorer.CustomExecutableRunConfiguration + 3768 + true + false + + + + 2 + /home/programming/projects/EE/eetest-release + false + + $BUILDDIR + eetest-release + eetest-release + ProjectExplorer.CustomExecutableRunConfiguration + 3768 + true + false + + + + 2 + /home/programming/projects/EE/eeiv-debug + false + + $BUILDDIR + eeiv-debug + eeiv-debug + ProjectExplorer.CustomExecutableRunConfiguration + 3768 + true + false + + + + 2 + /home/programming/projects/EE/eeiv-release + false + + $BUILDDIR + eeiv-release + eeiv-release + ProjectExplorer.CustomExecutableRunConfiguration + 3768 + true + false + + + + 2 + /home/programming/projects/EE/eefluid-debug + false + + $BUILDDIR + eefluid-debug + eefluid-debug + ProjectExplorer.CustomExecutableRunConfiguration + 3768 + true + false + + + + 2 + /home/programming/projects/EE/eefluid-release + false + + $BUILDDIR + eefluid-release + eefluid-release + ProjectExplorer.CustomExecutableRunConfiguration + 3768 + true + false + + 6 + + + + ProjectExplorer.Project.TargetCount + 1 + + + ProjectExplorer.Project.Updater.EnvironmentId + {bbaeda53-a008-4abc-a769-1c41d79116d2} + + + ProjectExplorer.Project.Updater.FileVersion + 8 + + diff --git a/ee.linux.cbp b/ee.linux.cbp index 28a1ee7a7..5043f7464 100644 --- a/ee.linux.cbp +++ b/ee.linux.cbp @@ -165,6 +165,13 @@ + + + + + + + @@ -190,6 +197,116 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -208,9 +325,11 @@ + + + @@ -474,6 +594,53 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -499,9 +666,9 @@ - + @@ -512,6 +679,8 @@ + + @@ -526,20 +695,26 @@ + + + + - - + + + + @@ -568,14 +743,23 @@ + + + + + + + + + @@ -601,7 +785,32 @@ + + + + + + + + + + + + + + + + + + + + + + + + + @@ -614,6 +823,13 @@ + + + + + + + diff --git a/ee.win.cbp b/ee.win.cbp index eba75e435..de72339c0 100644 --- a/ee.win.cbp +++ b/ee.win.cbp @@ -25,7 +25,6 @@