From b7bb13579fa86907a8c221a9dc6285f26942ad44 Mon Sep 17 00:00:00 2001 From: Charles McGarvey Date: Wed, 13 Jul 2011 00:54:52 -0600 Subject: [PATCH] rename main class --- src/{Main.cc => client.cc} | 142 ++++++++++++++++++++----------------- src/{Main.hh => client.hh} | 18 ++--- 2 files changed, 83 insertions(+), 77 deletions(-) rename src/{Main.cc => client.cc} (81%) rename src/{Main.hh => client.hh} (85%) diff --git a/src/Main.cc b/src/client.cc similarity index 81% rename from src/Main.cc rename to src/client.cc index 8b01163..aa7d527 100644 --- a/src/Main.cc +++ b/src/client.cc @@ -7,25 +7,17 @@ * *****************************************************************************/ -#if HAVE_CONFIG_H -#include "config.h" -#endif - #include // atexit #include #include #include +#include #include -#if PLATFORM_POSIX -#include -#else -inline int isatty(int dummy) { return 0; } -#endif - #include #include +#include #include #include #include @@ -35,7 +27,18 @@ inline int isatty(int dummy) { return 0; } #include #include -#include "Main.hh" +#include "client.hh" + + +#if HAVE_CONFIG_H +#include "config.h" +#endif + +#if PLATFORM_POSIX +#include +#else +inline int isatty(int dummy) { return 0; } +#endif Main::Main(moof::settings& settings) : @@ -43,16 +46,51 @@ Main::Main(moof::settings& settings) : { moof::dispatcher& dispatcher = moof::dispatcher::global(); video_reloaded_ = dispatcher.add_target("video.newcontext", - boost::bind(&Main::setup_opengl)); + boost::bind(&Main::setup_opengl)); setup_opengl(); #if ENABLE_HOTLOADING hotload_timer_.init(boost::bind(&moof::resource::reload_as_needed), - SCALAR(0.25), - moof::timer::repeat); + SCALAR(0.25), moof::timer::repeat); #endif } +void Main::setup_opengl() +{ + glEnable(GL_TEXTURE_2D); + glEnable(GL_DEPTH_TEST); + //glEnable(GL_CULL_FACE); + + //glEnable(GL_POINT_SMOOTH); + //glEnable(GL_LINE_SMOOTH); + //glEnable(GL_POLYGON_SMOOTH); + //glShadeModel(GL_SMOOTH); + + //glEnable(GL_BLEND); + //glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); + glEnable(GL_ALPHA_TEST); + glAlphaFunc(GL_GREATER, 0.0); + + glEnable(GL_MULTISAMPLE); + + glClearColor(1.0, 0.0, 0.0, 1.0); + + //glEnable(GL_LIGHTING); + //glEnable(GL_LIGHT0); + + //glEnable(GL_COLOR_MATERIAL); + //glColorMaterial(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE); + + float amb[] = {0.1f, 0.1f, 0.1f, 1.0f}; + float dif[] = {0.6f, 0.6f, 0.6f, 1.0f}; + //glLightModelfv(GL_LIGHT_MODEL_AMBIENT, light); + glLightfv(GL_LIGHT0, GL_AMBIENT, amb); + glLightfv(GL_LIGHT0, GL_DIFFUSE, dif); + + float spec[] = {1.0f, 1.0f, 1.0f, 1.0f}; + glLightfv(GL_LIGHT0, GL_SPECULAR, spec); +} + void Main::update(moof::scalar t, moof::scalar dt) { yoink.update(t, dt); @@ -80,12 +118,12 @@ void Main::handle_event(const moof::event& event) case SDL_KEYUP: if (event.key.keysym.sym == SDLK_f) { - moof::video::current()->toggle_fullscreen(); + moof::video::current().toggle_fullscreen(); } else if (event.key.keysym.sym == SDLK_l) { - moof::video::current()->toggle_cursor_captured(); - moof::video::current()->toggle_cursor_visible(); + moof::video::current().toggle_cursor_captured(); + moof::video::current().toggle_cursor_visible(); } else if (event.key.keysym.sym == SDLK_ESCAPE) { @@ -102,7 +140,8 @@ void Main::handle_event(const moof::event& event) } } -std::string Main::search_paths() + +static std::string search_paths() { // Add search paths; they should be searched in this order: // 1. YOINK_DATADIR (environment) @@ -122,7 +161,7 @@ std::string Main::search_paths() return path; } -std::string Main::config_paths() +static std::string config_paths() { // Build the list of config files to search for, in this order: // 1. YOINK_DATADIR/yoinkrc @@ -147,41 +186,7 @@ std::string Main::config_paths() return path; } -void Main::setup_opengl() -{ - glEnable(GL_TEXTURE_2D); - glEnable(GL_DEPTH_TEST); - //glEnable(GL_CULL_FACE); - - glEnable(GL_POINT_SMOOTH); - glEnable(GL_LINE_SMOOTH); - glEnable(GL_POLYGON_SMOOTH); - glShadeModel(GL_SMOOTH); - - //glEnable(GL_BLEND); - //glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); - glEnable(GL_ALPHA_TEST); - glAlphaFunc(GL_GREATER, 0.0); - - glClearColor(1.0, 0.0, 0.0, 1.0); - - //glEnable(GL_LIGHTING); - glEnable(GL_LIGHT0); - - glEnable(GL_COLOR_MATERIAL); - glColorMaterial(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE); - - float amb[] = {0.1f, 0.1f, 0.1f, 1.0f}; - float dif[] = {0.6f, 0.6f, 0.6f, 1.0f}; - //glLightModelfv(GL_LIGHT_MODEL_AMBIENT, light); - glLightfv(GL_LIGHT0, GL_AMBIENT, amb); - glLightfv(GL_LIGHT0, GL_DIFFUSE, dif); - - float spec[] = {1.0f, 1.0f, 1.0f, 1.0f}; - glLightfv(GL_LIGHT0, GL_SPECULAR, spec); -} - -void Main::print_usage() +static void print_usage() { std::cout << "Usage: " << PACKAGE" [-h|--help] [-i|--info] [OPTION=VALUE]..." @@ -203,18 +208,20 @@ void Main::print_usage() << "See documentation for more options." << std::endl; } -void Main::print_info(int argc, char* argv[]) +static void print_info(int argc, char* argv[]) { #if INCLUDE_CONFIG_FILE - extern char data_config_mk[]; - std::cout << data_config_mk; + extern size_t data_config_gz_size; + extern char data_config_gz[]; + moof::inflate(data_config_gz, data_config_gz_size, std::cout); #else - std::cout << std::endl << "Configuration not included." << std::endl; + std::cout << std::endl << "No configuration available. :-(" + << std::endl; #endif } -void hello() +static void hello() { if (isatty(1) == 1) std::cout << "\033[94m"; std::cout << std::endl << PACKAGE_STRING << std::endl @@ -223,7 +230,7 @@ void hello() << std::endl << moof::log::endl; } -void goodbye() +static void goodbye() { if (isatty(1) == 1) std::cout << "\033[94m"; std::cout << std::endl << "Goodbye." << std::endl << moof::log::endl; @@ -237,12 +244,12 @@ int main(int argc, char* argv[]) std::string arg(argv[1]); if (arg == "-h" || arg == "--help") { - Main::print_usage(); + print_usage(); return 0; } else if (arg == "-i" || arg == "--info") { - Main::print_info(argc, argv); + print_info(argc, argv); return 0; } } @@ -252,14 +259,16 @@ int main(int argc, char* argv[]) moof::backend backend; - moof::resource::set_search_paths(Main::search_paths()); + moof::resource::set_search_paths(search_paths()); - moof::settings settings(argc, argv, Main::config_paths()); + moof::settings settings(argc, argv, config_paths()); enum moof::log::level logLevel = moof::log::info; settings.get("loglevel", logLevel); moof::log::level(logLevel); + std::cout.precision(10); + try { moof::image_handle icon("yoink", "png"); @@ -269,7 +278,10 @@ int main(int argc, char* argv[]) class moof::video::attributes attributes(settings); moof::video video(PACKAGE_STRING, attributes); - video.show_fps(true); + + bool showfps = false; + settings.get("showfps", showfps); + video.show_fps(showfps); Main app(settings); return app.run(); diff --git a/src/Main.hh b/src/client.hh similarity index 85% rename from src/Main.hh rename to src/client.hh index 65ad901..32ca715 100644 --- a/src/Main.hh +++ b/src/client.hh @@ -10,11 +10,6 @@ #ifndef _MAIN_HH_ #define _MAIN_HH_ -/** - * \file Main.hh - * This is where all the fun begins. - */ - #include #include @@ -28,6 +23,11 @@ #include "yoink.hh" +/** + * \file Main.hh + * This is where all the fun begins. + */ + class Main : public moof::application { public: @@ -38,12 +38,6 @@ public: void draw(moof::scalar alpha) const; void handle_event(const moof::event& event); - static std::string search_paths(); - static std::string config_paths(); - - static void print_usage(); - static void print_info(int argc, char* argv[]); - private: /** @@ -52,7 +46,7 @@ private: static void setup_opengl(); moof::dispatcher::handle video_reloaded_; - moof::timer hotload_timer_; + moof::timer hotload_timer_; ::yoink yoink; }; -- 2.45.2