Simplify the creation of OS-specific windows and timers in the samples.
BUG=angle:521
Change-Id: I9550269e9cd67fc24246853bec3c1f67cb16da2a
Reviewed-on: https://chromium-review.googlesource.com/211130
Reviewed-by: Jamie Madill <jmadill@chromium.org>
Reviewed-by: Shannon Woods <shannonwoods@chromium.org>
Tested-by: Geoff Lang <geofflang@chromium.org>
diff --git a/samples/angle/sample_util/SampleApplication.cpp b/samples/angle/sample_util/SampleApplication.cpp
index 4d15b03..0a29359 100644
--- a/samples/angle/sample_util/SampleApplication.cpp
+++ b/samples/angle/sample_util/SampleApplication.cpp
@@ -6,13 +6,6 @@
#include "SampleApplication.h"
-#ifdef _WIN32
-#include "win32/Win32Timer.h"
-#include "win32/Win32Window.h"
-#else
-#error unsupported OS.
-#endif
-
SampleApplication::SampleApplication(const std::string& name, size_t width, size_t height,
EGLint glesMajorVersion, EGLint requestedRenderer)
: mSurface(EGL_NO_SURFACE),
@@ -24,10 +17,8 @@
mHeight(height),
mName(name),
mRunning(false),
-#ifdef _WIN32
- mTimer(new Win32Timer()),
- mWindow(new Win32Window())
-#endif
+ mTimer(CreateTimer()),
+ mWindow(CreateSampleWindow())
{
}
diff --git a/samples/angle/sample_util/Timer.h b/samples/angle/sample_util/Timer.h
index b86cf85..8e7f4d4 100644
--- a/samples/angle/sample_util/Timer.h
+++ b/samples/angle/sample_util/Timer.h
@@ -15,4 +15,6 @@
virtual double getElapsedTime() const = 0;
};
+Timer *CreateTimer();
+
#endif // SAMPLE_UTIL_TIMER_H
diff --git a/samples/angle/sample_util/Window.h b/samples/angle/sample_util/Window.h
index d0cdf85..9d29cd4 100644
--- a/samples/angle/sample_util/Window.h
+++ b/samples/angle/sample_util/Window.h
@@ -40,4 +40,6 @@
std::list<Event> mEvents;
};
+Window *CreateSampleWindow();
+
#endif // SAMPLE_UTIL_WINDOW_H
diff --git a/samples/angle/sample_util/win32/Win32Timer.cpp b/samples/angle/sample_util/win32/Win32Timer.cpp
index c4345bf..1ace360 100644
--- a/samples/angle/sample_util/win32/Win32Timer.cpp
+++ b/samples/angle/sample_util/win32/Win32Timer.cpp
@@ -51,3 +51,8 @@
return static_cast<double>(endTime - mStartTime) / mFrequency;
}
+
+Timer *CreateTimer()
+{
+ return new Win32Timer();
+}
diff --git a/samples/angle/sample_util/win32/Win32Window.cpp b/samples/angle/sample_util/win32/Win32Window.cpp
index 93f6a18..eae5548 100644
--- a/samples/angle/sample_util/win32/Win32Window.cpp
+++ b/samples/angle/sample_util/win32/Win32Window.cpp
@@ -469,3 +469,8 @@
SetCursorPos(topLeft.x + x, topLeft.y + y);
}
+
+Window *CreateSampleWindow()
+{
+ return new Win32Window();
+}