Graphite  Version 3
An experimental 3D geometry processing program
console.h
1 /*
2  * OGF/Graphite: Geometry and Graphics Programming Library + Utilities
3  * Copyright (C) 2000 Bruno Levy
4  *
5  * This program is free software; you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation; either version 2 of the License, or
8  * (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program; if not, write to the Free Software
17  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
18  *
19  * If you modify this software, you should include a notice giving the
20  * name of the person performing the modification, the date of modification,
21  * and the reason for such modification.
22  *
23  * Contact: Bruno Levy
24  *
25  * levy@loria.fr
26  *
27  * ISA Project
28  * LORIA, INRIA Lorraine,
29  * Campus Scientifique, BP 239
30  * 54506 VANDOEUVRE LES NANCY CEDEX
31  * FRANCE
32  *
33  * Note that the GNU General Public License does not permit incorporating
34  * the Software into proprietary programs.
35  */
36 
37 #ifndef H_SKIN_IMGUI_CONSOLE_H
38 #define H_SKIN_IMGUI_CONSOLE_H
39 
42 
43 namespace OGF {
44 
45  class Application;
46 
50  class SKIN_IMGUI_API Console : public GEO::Console {
51  public:
56  Console(Application* application);
57 
63  return application_;
64  }
65 
69  void draw(bool* visible=nullptr, bool with_window=true) override;
70 
71  protected:
75  bool exec_command(const char* command) override;
76 
80  void update() override;
81 
85  void notify_error(const std::string& err) override;
86 
87  private:
88  Application* application_;
89  };
90 
91 }
92 
93 #endif
A console, that displays logger messages, and where the user can enter commands.
Definition: console.h:59
Implementation of Skin application using ImGui.
Definition: application.h:56
A console for Graphite.
Definition: console.h:50
void draw(bool *visible=nullptr, bool with_window=true) override
Draws the console and handles the gui.
bool exec_command(const char *command) override
void notify_error(const std::string &err) override
Console(Application *application)
Console constructor.
void update() override
Application * application()
Gets the Application.
Definition: console.h:62
A console.
Global Graphite namespace.
Definition: common.h:76
Definitions common to all include files in the skin_imgui library.