00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef SGE_INIT_HPP_INCLUDED
00022 #define SGE_INIT_HPP_INCLUDED
00023
00024 #include "systems.hpp"
00025 #include "export.hpp"
00026 #include <sge/renderer/types.hpp>
00027
00028 namespace sge {
00029 namespace init {
00030
00031 struct core {
00032 SGE_SYMBOL core(systems &);
00033 SGE_SYMBOL operator bool() const;
00034 };
00035
00036 struct renderer {
00037 systems &sys;
00038
00039 SGE_SYMBOL renderer(systems &sys, ::sge::renderer::screen_size_t const &);
00040 SGE_SYMBOL operator bool() const;
00041 };
00042
00043 struct fullscreen_renderer {
00044 systems &sys;
00045
00046 SGE_SYMBOL fullscreen_renderer(
00047 systems &sys,
00048 unsigned width,
00049 unsigned height,
00050 sge::renderer::bit_depth::type bdepth
00051 = sge::renderer::bit_depth::depth32,
00052 unsigned refresh_rate = 0,
00053 sge::renderer::multi_sample_type multi = 1,
00054 bool vsync = true);
00055
00056 SGE_SYMBOL fullscreen_renderer(
00057 systems &sys,
00058 unsigned width,
00059 unsigned height,
00060 unsigned refresh_rate = 0,
00061 sge::renderer::bit_depth::type bdepth
00062 = sge::renderer::bit_depth::depth32,
00063 sge::renderer::multi_sample_type multi = 1,
00064 bool vsync = true);
00065
00066 SGE_SYMBOL operator bool() const;
00067 private:
00068 void init(
00069 unsigned width,
00070 unsigned height,
00071 unsigned refresh_rate,
00072 sge::renderer::bit_depth::type bdepth,
00073 sge::renderer::multi_sample_type multi,
00074 bool vsync);
00075 };
00076
00077 struct input {
00078 systems &sys;
00079
00080 SGE_SYMBOL input(systems &sys);
00081 SGE_SYMBOL operator bool() const;
00082 };
00083
00084 struct image_loader {
00085 systems &sys;
00086
00087 SGE_SYMBOL image_loader(systems &sys);
00088 SGE_SYMBOL operator bool() const;
00089 };
00090
00091 struct font {
00092 systems &sys;
00093
00094 SGE_SYMBOL font(systems &sys);
00095 SGE_SYMBOL operator bool() const;
00096 };
00097
00098 }
00099 }
00100
00101 #endif