Nirtcpp 2.1.0
Nirtcpp is a high-performance c++ graphics engine.
Loading...
Searching...
No Matches
IGUIProfiler.hpp
1// This file is part of the "Irrlicht Engine".
2// For conditions of distribution and use, see copyright notice in nirtcpp/nirtcpp.hpp
3// Written by Michael Zeilfelder
4
5#ifndef NIRT_I_GUI_PROFILER_HPP_INCLUDED
6#define NIRT_I_GUI_PROFILER_HPP_INCLUDED
7
8#include <nirtcpp/core/engine/IGUIElement.hpp>
9
10namespace nirt
11{
12class IProfiler;
13
14namespace gui
15{
16 class IGUIFont;
17
20 {
21 public:
23
24 IGUIProfiler(IGUIEnvironment* environment, IGUIElement* parent, s32 id, core::rect<s32> rectangle, IProfiler* profiler = NULL)
25 : IGUIElement(EGUIET_PROFILER, environment, parent, id, rectangle)
26 {}
27
29
30 virtual void firstPage(bool includeOverview=true) = 0;
31
33
34 virtual void nextPage(bool includeOverview=true) = 0;
35
37
38 virtual void previousPage(bool includeOverview=true) = 0;
39
41
42 virtual void setShowGroupsTogether(bool groupsTogether) = 0;
43
45 virtual bool getShowGroupsTogether() const = 0;
46
48
50 virtual void setOverrideFont(IGUIFont* font=0) = 0;
51
53
54 virtual IGUIFont* getOverrideFont(void) const = 0;
55
57
59 virtual IGUIFont* getActiveFont() const = 0;
60
62 virtual void setDrawBackground(bool draw) = 0;
63
65
66 virtual bool isDrawBackgroundEnabled() const = 0;
67
69
70 virtual void setFrozen(bool freeze) = 0;
71
73 virtual bool getFrozen() const = 0;
74
76 virtual void setFilters(nirt::u32 minCalls = 0, nirt::u32 minTimeSum = 0, nirt::f32 minTimeAverage = 0.f, nirt::u32 minTimeMax = 0) = 0;
77 };
78
79} // end namespace gui
80} // end namespace nirt
81
82#endif
Code-profiler. Please check the example in the Nirtcpp examples folder about how to use it.
Definition IProfiler.hpp:105
Axis aligned bounding box in 3d dimensional space.
Definition aabbox3d.hpp:22
Base class of all GUI elements.
Definition IGUIElement.hpp:24
virtual void draw()
Draws the element and its children.
Definition IGUIElement.hpp:331
GUI Environment. Used as factory and manager of all other GUI elements.
Definition IGUIEnvironment.hpp:73
Font interface.
Definition IGUIFont.hpp:40
Element to display profiler information.
Definition IGUIProfiler.hpp:20
virtual bool getFrozen() const =0
Are updates currently frozen.
virtual void firstPage(bool includeOverview=true)=0
Show first page of profile data.
virtual IGUIFont * getActiveFont() const =0
Get the font which is used right now for drawing.
virtual void setOverrideFont(IGUIFont *font=0)=0
Sets another skin independent font.
virtual bool isDrawBackgroundEnabled() const =0
Checks if background drawing is enabled.
virtual void setFilters(nirt::u32 minCalls=0, nirt::u32 minTimeSum=0, nirt::f32 minTimeAverage=0.f, nirt::u32 minTimeMax=0)=0
Filters prevents data that doesn't achieve the conditions from being displayed.
IGUIProfiler(IGUIEnvironment *environment, IGUIElement *parent, s32 id, core::rect< s32 > rectangle, IProfiler *profiler=NULL)
constructor
Definition IGUIProfiler.hpp:24
virtual void previousPage(bool includeOverview=true)=0
Show previous page of profile data.
virtual void setShowGroupsTogether(bool groupsTogether)=0
Try to show as many group-pages together as possible instead of showing at most one group per page.
virtual void setDrawBackground(bool draw)=0
Sets whether to draw the background. By default disabled,.
virtual void setFrozen(bool freeze)=0
Allows to freeze updates which makes it easier to read the numbers.
virtual void nextPage(bool includeOverview=true)=0
Show next page of profile data.
virtual IGUIFont * getOverrideFont(void) const =0
Gets the override font (if any)
virtual bool getShowGroupsTogether() const =0
Can several groups be displayed per page?
@ EGUIET_PROFILER
IGUIProfiler.
Definition EGUIElementTypes.hpp:95
As of Nirtcpp 1.6, position2d is a synonym for vector2d.
Definition vector3d.hpp:11
signed int s32
32 bit signed variable.
Definition irrTypes.hpp:72
unsigned int u32
32 bit unsigned variable.
Definition irrTypes.hpp:64
float f32
32 bit floating point variable.
Definition irrTypes.hpp:110

Nirtcpp    @cppfx.xyz

Esvcpp    esv::print