Merge revision 4812:4822 from trunk to ogl-es:
- Fix compile troubles on VS. Thx @Foaly for reporting. - Animated dwarfes are more fun. - Reset group-page as well when calling CGUIProfiler::firstPage. - Ignore binary 17. - Add examples 17 and 30+ to Linux build support. - Fix warnings. - Fix typo in comment. - CGUIProfiler can now handle it when a group doesn't fit on a single page. - Add interface for easier access to scrollbars for IGUIListBox, IGUITreeView and IGUITable - Add IGUITable::getItemHeight git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/branches/ogl-es@4853 dfc29bdd-3216-0410-991c-e03cc46cb475master
parent
bf9f3a3b5d
commit
901ec7b0da
|
@ -7,6 +7,7 @@ Changes in ogl-es (not yet released - will be merged with trunk at some point)
|
||||||
--------------------------
|
--------------------------
|
||||||
Changes in 1.9 (not yet released)
|
Changes in 1.9 (not yet released)
|
||||||
|
|
||||||
|
- Add interface for easier access to scrollbars for IGUIListBox, IGUITreeView and IGUITable
|
||||||
- Fix serializing colors as strings. Was previously mixing up strings with number-arrays and hex color values. Now using hex color values always, but also fixed the the handling when it get's number-array strings.
|
- Fix serializing colors as strings. Was previously mixing up strings with number-arrays and hex color values. Now using hex color values always, but also fixed the the handling when it get's number-array strings.
|
||||||
- Fix IAttributes::setAttribute implementation for textures (did do nothing before).
|
- Fix IAttributes::setAttribute implementation for textures (did do nothing before).
|
||||||
- Added support for separate blending in OpenGL and D3D9 drivers.
|
- Added support for separate blending in OpenGL and D3D9 drivers.
|
||||||
|
@ -14,6 +15,7 @@ Changes in 1.9 (not yet released)
|
||||||
- Added BlendFactor field to SMaterial which allow user to set blending factor per SMaterial set call without use EMT_ONETEXTURE_BLEND type.
|
- Added BlendFactor field to SMaterial which allow user to set blending factor per SMaterial set call without use EMT_ONETEXTURE_BLEND type.
|
||||||
- Fixed issue with blending operation set to EBO_NONE and some transparent material types.
|
- Fixed issue with blending operation set to EBO_NONE and some transparent material types.
|
||||||
- Add a code profiler (stop-watch style)
|
- Add a code profiler (stop-watch style)
|
||||||
|
- Add IGUITable::getItemHeight to access item (row) height
|
||||||
- Add override font to IGUITable
|
- Add override font to IGUITable
|
||||||
- IGUITable can now disable the active column.
|
- IGUITable can now disable the active column.
|
||||||
- IGUIElement::getElementFromPoint now virtual
|
- IGUIElement::getElementFromPoint now virtual
|
||||||
|
|
|
@ -0,0 +1,39 @@
|
||||||
|
# Makefile for Irrlicht Examples
|
||||||
|
# It's usually sufficient to change just the target name and source file list
|
||||||
|
# and be sure that CXX is set to a valid compiler
|
||||||
|
Target = 17.HelloWorld_Mobile
|
||||||
|
Sources = main.cpp
|
||||||
|
|
||||||
|
# general compiler settings
|
||||||
|
CPPFLAGS = -I../../include -I/usr/X11R6/include
|
||||||
|
CXXFLAGS = -O3 -ffast-math
|
||||||
|
#CXXFLAGS = -g -Wall
|
||||||
|
|
||||||
|
#default target is Linux
|
||||||
|
all: all_linux
|
||||||
|
|
||||||
|
ifeq ($(HOSTTYPE), x86_64)
|
||||||
|
LIBSELECT=64
|
||||||
|
endif
|
||||||
|
|
||||||
|
# target specific settings
|
||||||
|
all_linux: LDFLAGS = -L/usr/X11R6/lib$(LIBSELECT) -L../../lib/Linux -lIrrlicht -lGL -lXxf86vm -lXext -lX11 -lXcursor
|
||||||
|
all_linux clean_linux: SYSTEM=Linux
|
||||||
|
all_win32: LDFLAGS = -L../../lib/Win32-gcc -lIrrlicht -lopengl32 -lm
|
||||||
|
all_win32: CPPFLAGS += -D__GNUWIN32__ -D_WIN32 -DWIN32 -D_WINDOWS -D_MBCS -D_USRDLL
|
||||||
|
all_win32 clean_win32: SYSTEM=Win32-gcc
|
||||||
|
all_win32 clean_win32: SUF=.exe
|
||||||
|
# name of the binary - only valid for targets which set SYSTEM
|
||||||
|
DESTPATH = ../../bin/$(SYSTEM)/$(Target)$(SUF)
|
||||||
|
|
||||||
|
all_linux all_win32:
|
||||||
|
$(warning Building...)
|
||||||
|
$(CXX) $(CPPFLAGS) $(CXXFLAGS) $(Sources) -o $(DESTPATH) $(LDFLAGS)
|
||||||
|
|
||||||
|
clean: clean_linux clean_win32
|
||||||
|
$(warning Cleaning...)
|
||||||
|
|
||||||
|
clean_linux clean_win32:
|
||||||
|
@$(RM) $(DESTPATH)
|
||||||
|
|
||||||
|
.PHONY: all all_win32 clean clean_linux clean_win32
|
|
@ -378,13 +378,11 @@ void Q3Player::respawn ()
|
||||||
|
|
||||||
Device->getLogger()->log( "respawn" );
|
Device->getLogger()->log( "respawn" );
|
||||||
|
|
||||||
if ( StartPositionCurrent >= Q3StartPosition (
|
if (StartPositionCurrent >= Q3StartPosition(Mesh, camera,
|
||||||
Mesh, camera,StartPositionCurrent++,
|
StartPositionCurrent, cam()->getEllipsoidTranslation()))
|
||||||
cam ()->getEllipsoidTranslation() )
|
|
||||||
)
|
|
||||||
{
|
|
||||||
StartPositionCurrent = 0;
|
StartPositionCurrent = 0;
|
||||||
}
|
else
|
||||||
|
++StartPositionCurrent;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -2023,12 +2021,11 @@ void CQuake3EventHandler::Animate()
|
||||||
// Query Scene Manager attributes
|
// Query Scene Manager attributes
|
||||||
if ( player->Anim[0].flags & FIRED )
|
if ( player->Anim[0].flags & FIRED )
|
||||||
{
|
{
|
||||||
ISceneManager *smgr = Game->Device->getSceneManager ();
|
|
||||||
wchar_t msg[128];
|
wchar_t msg[128];
|
||||||
IVideoDriver * driver = Game->Device->getVideoDriver();
|
IVideoDriver * driver = Game->Device->getVideoDriver();
|
||||||
|
|
||||||
IAttributes * attr = smgr->getParameters();
|
|
||||||
#ifdef _IRR_SCENEMANAGER_DEBUG
|
#ifdef _IRR_SCENEMANAGER_DEBUG
|
||||||
|
IAttributes * attr = Game->Device->getSceneManager()->getParameters();
|
||||||
swprintf ( msg, 128,
|
swprintf ( msg, 128,
|
||||||
L"Q3 %s [%ls], FPS:%03d Tri:%.03fm Cull %d/%d nodes (%d,%d,%d)",
|
L"Q3 %s [%ls], FPS:%03d Tri:%.03fm Cull %d/%d nodes (%d,%d,%d)",
|
||||||
Game->CurrentMapName.c_str(),
|
Game->CurrentMapName.c_str(),
|
||||||
|
|
|
@ -255,7 +255,7 @@ public:
|
||||||
{
|
{
|
||||||
irr::f32 gapZ = z > 0 ? (z-1)*GAP : 0.f;
|
irr::f32 gapZ = z > 0 ? (z-1)*GAP : 0.f;
|
||||||
irr::f32 posZ = -halfSizeZ + z*extent.Z + gapZ;
|
irr::f32 posZ = -halfSizeZ + z*extent.Z + gapZ;
|
||||||
scene::IMeshSceneNode * node = SceneManager->addMeshSceneNode (mesh, NULL, -1, vector3df(posX, posY, posZ) );
|
scene::IAnimatedMeshSceneNode * node = SceneManager->addAnimatedMeshSceneNode(aniMesh, NULL, -1, vector3df(posX, posY, posZ) );
|
||||||
node->setMaterialFlag(video::EMF_LIGHTING, false);
|
node->setMaterialFlag(video::EMF_LIGHTING, false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,4 @@
|
||||||
DIRS = $(wildcard [012]* Demo)
|
DIRS = $(wildcard [0123]* Demo)
|
||||||
|
|
||||||
all: $(DIRS)
|
all: $(DIRS)
|
||||||
|
|
||||||
|
|
|
@ -13,6 +13,7 @@ namespace irr
|
||||||
namespace gui
|
namespace gui
|
||||||
{
|
{
|
||||||
class IGUISpriteBank;
|
class IGUISpriteBank;
|
||||||
|
class IGUIScrollBar;
|
||||||
|
|
||||||
//! Enumeration for listbox colors
|
//! Enumeration for listbox colors
|
||||||
enum EGUI_LISTBOX_COLOR
|
enum EGUI_LISTBOX_COLOR
|
||||||
|
@ -128,6 +129,9 @@ namespace gui
|
||||||
|
|
||||||
//! Sets whether to draw the background
|
//! Sets whether to draw the background
|
||||||
virtual void setDrawBackground(bool draw) = 0;
|
virtual void setDrawBackground(bool draw) = 0;
|
||||||
|
|
||||||
|
//! Access the vertical scrollbar
|
||||||
|
virtual IGUIScrollBar* getVerticalScrollBar() const = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -13,6 +13,7 @@ namespace irr
|
||||||
namespace gui
|
namespace gui
|
||||||
{
|
{
|
||||||
class IGUIFont;
|
class IGUIFont;
|
||||||
|
class IGUIScrollBar;
|
||||||
|
|
||||||
//! modes for ordering used when a column header is clicked
|
//! modes for ordering used when a column header is clicked
|
||||||
enum EGUI_COLUMN_ORDERING
|
enum EGUI_COLUMN_ORDERING
|
||||||
|
@ -208,6 +209,15 @@ namespace gui
|
||||||
/** Currently this is the override font when one is set and the
|
/** Currently this is the override font when one is set and the
|
||||||
font of the active skin otherwise */
|
font of the active skin otherwise */
|
||||||
virtual IGUIFont* getActiveFont() const = 0;
|
virtual IGUIFont* getActiveFont() const = 0;
|
||||||
|
|
||||||
|
//! Get the height of items/rows
|
||||||
|
virtual s32 getItemHeight() const = 0;
|
||||||
|
|
||||||
|
//! Access the vertical scrollbar
|
||||||
|
virtual IGUIScrollBar* getVerticalScrollBar() const = 0;
|
||||||
|
|
||||||
|
//! Access the horizontal scrollbar
|
||||||
|
virtual IGUIScrollBar* getHorizontalScrollBar() const = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -15,6 +15,7 @@ namespace gui
|
||||||
{
|
{
|
||||||
class IGUIFont;
|
class IGUIFont;
|
||||||
class IGUITreeView;
|
class IGUITreeView;
|
||||||
|
class IGUIScrollBar;
|
||||||
|
|
||||||
|
|
||||||
//! Node for gui tree view
|
//! Node for gui tree view
|
||||||
|
@ -268,6 +269,12 @@ namespace gui
|
||||||
//! Returns the node which is associated to the last event.
|
//! Returns the node which is associated to the last event.
|
||||||
/** This pointer is only valid inside the OnEvent call! */
|
/** This pointer is only valid inside the OnEvent call! */
|
||||||
virtual IGUITreeViewNode* getLastEventNode() const = 0;
|
virtual IGUITreeViewNode* getLastEventNode() const = 0;
|
||||||
|
|
||||||
|
//! Access the vertical scrollbar
|
||||||
|
virtual IGUIScrollBar* getVerticalScrollBar() const = 0;
|
||||||
|
|
||||||
|
//! Access the horizontal scrollbar
|
||||||
|
virtual IGUIScrollBar* getHorizontalScrollBar() const = 0;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -906,6 +906,11 @@ void CGUIListBox::setDrawBackground(bool draw)
|
||||||
DrawBack = draw;
|
DrawBack = draw;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//! Access the vertical scrollbar
|
||||||
|
IGUIScrollBar* CGUIListBox::getVerticalScrollBar() const
|
||||||
|
{
|
||||||
|
return ScrollBar;
|
||||||
|
}
|
||||||
|
|
||||||
} // end namespace gui
|
} // end namespace gui
|
||||||
} // end namespace irr
|
} // end namespace irr
|
||||||
|
|
|
@ -131,6 +131,9 @@ namespace gui
|
||||||
//! Sets whether to draw the background
|
//! Sets whether to draw the background
|
||||||
virtual void setDrawBackground(bool draw) _IRR_OVERRIDE_;
|
virtual void setDrawBackground(bool draw) _IRR_OVERRIDE_;
|
||||||
|
|
||||||
|
//! Access the vertical scrollbar
|
||||||
|
virtual IGUIScrollBar* getVerticalScrollBar() const _IRR_OVERRIDE_;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|
||||||
struct ListItem
|
struct ListItem
|
||||||
|
|
|
@ -2,14 +2,11 @@
|
||||||
// For conditions of distribution and use, see copyright notice in irrlicht.h
|
// For conditions of distribution and use, see copyright notice in irrlicht.h
|
||||||
// Written by Michael Zeilfelder
|
// Written by Michael Zeilfelder
|
||||||
|
|
||||||
// TODO: We should have more pages for groups that don't fit into the display area.
|
|
||||||
// So additional to CurrentGroupIdx we would also have a current-page-for-current-group thing.
|
|
||||||
// The interface doesn't have to be changed for that - just the implementation.
|
|
||||||
|
|
||||||
#include "CGUIProfiler.h"
|
#include "CGUIProfiler.h"
|
||||||
#ifdef _IRR_COMPILE_WITH_GUI_
|
#ifdef _IRR_COMPILE_WITH_GUI_
|
||||||
|
|
||||||
#include "IGUITable.h"
|
#include "IGUITable.h"
|
||||||
|
#include "IGUIScrollBar.h"
|
||||||
#include "IGUIEnvironment.h"
|
#include "IGUIEnvironment.h"
|
||||||
#include "CProfiler.h"
|
#include "CProfiler.h"
|
||||||
|
|
||||||
|
@ -21,7 +18,7 @@ namespace gui
|
||||||
//! constructor
|
//! constructor
|
||||||
CGUIProfiler::CGUIProfiler(IGUIEnvironment* environment, IGUIElement* parent, s32 id, core::rect<s32> rectangle)
|
CGUIProfiler::CGUIProfiler(IGUIEnvironment* environment, IGUIElement* parent, s32 id, core::rect<s32> rectangle)
|
||||||
: IGUIProfiler(environment, parent, id, rectangle)
|
: IGUIProfiler(environment, parent, id, rectangle)
|
||||||
, DisplayTable(0), CurrentGroupIdx(0), IgnoreUncalled(false)
|
, DisplayTable(0), CurrentGroupIdx(0), CurrentGroupPage(0), NumGroupPages(1), IgnoreUncalled(false)
|
||||||
{
|
{
|
||||||
Profiler = &getProfiler();
|
Profiler = &getProfiler();
|
||||||
|
|
||||||
|
@ -118,6 +115,49 @@ void CGUIProfiler::updateDisplay()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// IGUITable has no page-wise scrolling yet. The following code can be replaced when we add that.
|
||||||
|
// For now we use some CGUITable implementation info to figure this out.
|
||||||
|
// (If you wonder why I didn't code page-scrolling directly in CGUITable ... because then it needs to be a
|
||||||
|
// public interface and I don't have enough time currently to design & implement that well)
|
||||||
|
s32 itemsTotalHeight = DisplayTable->getRowCount() * DisplayTable->getItemHeight();
|
||||||
|
s32 tableHeight = DisplayTable->getAbsolutePosition().getHeight();
|
||||||
|
s32 heightTitleRow = DisplayTable->getItemHeight()+1;
|
||||||
|
if ( itemsTotalHeight+heightTitleRow < tableHeight )
|
||||||
|
{
|
||||||
|
NumGroupPages = 1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
s32 heightHScrollBar = DisplayTable->getHorizontalScrollBar() ? DisplayTable->getHorizontalScrollBar()->getAbsolutePosition().getHeight() : 0;
|
||||||
|
s32 pageHeight = tableHeight - (heightTitleRow+heightHScrollBar);
|
||||||
|
if ( pageHeight > 0 )
|
||||||
|
{
|
||||||
|
NumGroupPages = (itemsTotalHeight/pageHeight);
|
||||||
|
if ( itemsTotalHeight % pageHeight )
|
||||||
|
++NumGroupPages;
|
||||||
|
}
|
||||||
|
else // won't see anything, but that's up to the user
|
||||||
|
{
|
||||||
|
NumGroupPages = DisplayTable->getRowCount();
|
||||||
|
}
|
||||||
|
if ( NumGroupPages < 1 )
|
||||||
|
NumGroupPages = 1;
|
||||||
|
}
|
||||||
|
if ( CurrentGroupPage < 0 )
|
||||||
|
CurrentGroupPage = (s32)NumGroupPages-1;
|
||||||
|
|
||||||
|
IGUIScrollBar* vScrollBar = DisplayTable->getVerticalScrollBar();
|
||||||
|
if ( vScrollBar )
|
||||||
|
{
|
||||||
|
if ( NumGroupPages < 2 )
|
||||||
|
vScrollBar->setPos(0);
|
||||||
|
else
|
||||||
|
{
|
||||||
|
f32 factor = (f32)CurrentGroupPage/(f32)(NumGroupPages-1);
|
||||||
|
vScrollBar->setPos( s32(factor * (f32)vScrollBar->getMax()) );
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -133,27 +173,41 @@ void CGUIProfiler::draw()
|
||||||
|
|
||||||
void CGUIProfiler::nextPage(bool includeOverview)
|
void CGUIProfiler::nextPage(bool includeOverview)
|
||||||
{
|
{
|
||||||
if ( ++CurrentGroupIdx >= Profiler->getGroupCount() )
|
if ( CurrentGroupPage < NumGroupPages-1 )
|
||||||
|
++CurrentGroupPage;
|
||||||
|
else
|
||||||
{
|
{
|
||||||
if ( includeOverview )
|
CurrentGroupPage = 0;
|
||||||
CurrentGroupIdx = 0;
|
if ( ++CurrentGroupIdx >= Profiler->getGroupCount() )
|
||||||
else
|
{
|
||||||
CurrentGroupIdx = 1; // can be invalid
|
if ( includeOverview )
|
||||||
|
CurrentGroupIdx = 0;
|
||||||
|
else
|
||||||
|
CurrentGroupIdx = 1; // can be invalid
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void CGUIProfiler::previousPage(bool includeOverview)
|
void CGUIProfiler::previousPage(bool includeOverview)
|
||||||
{
|
{
|
||||||
if ( CurrentGroupIdx > 0 )
|
if ( CurrentGroupPage > 0 )
|
||||||
--CurrentGroupIdx;
|
|
||||||
else
|
|
||||||
CurrentGroupIdx = Profiler->getGroupCount()-1;
|
|
||||||
if ( CurrentGroupIdx == 0 && !includeOverview )
|
|
||||||
{
|
{
|
||||||
if ( Profiler->getGroupCount() )
|
--CurrentGroupPage;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
CurrentGroupPage = -1; // unknown because NumGroupPages has to be re-calculated first
|
||||||
|
if ( CurrentGroupIdx > 0 )
|
||||||
|
--CurrentGroupIdx;
|
||||||
|
else
|
||||||
CurrentGroupIdx = Profiler->getGroupCount()-1;
|
CurrentGroupIdx = Profiler->getGroupCount()-1;
|
||||||
if ( CurrentGroupIdx == 0 )
|
if ( CurrentGroupIdx == 0 && !includeOverview )
|
||||||
CurrentGroupIdx = 1; // invalid to avoid showing the overview
|
{
|
||||||
|
if ( Profiler->getGroupCount() )
|
||||||
|
CurrentGroupIdx = Profiler->getGroupCount()-1;
|
||||||
|
if ( CurrentGroupIdx == 0 )
|
||||||
|
CurrentGroupIdx = 1; // invalid to avoid showing the overview
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -163,6 +217,7 @@ void CGUIProfiler::firstPage(bool includeOverview)
|
||||||
CurrentGroupIdx = 0;
|
CurrentGroupIdx = 0;
|
||||||
else
|
else
|
||||||
CurrentGroupIdx = 1; // can be invalid
|
CurrentGroupIdx = 1; // can be invalid
|
||||||
|
CurrentGroupPage = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -69,6 +69,8 @@ namespace gui
|
||||||
IProfiler * Profiler;
|
IProfiler * Profiler;
|
||||||
irr::gui::IGUITable* DisplayTable;
|
irr::gui::IGUITable* DisplayTable;
|
||||||
irr::u32 CurrentGroupIdx;
|
irr::u32 CurrentGroupIdx;
|
||||||
|
irr::s32 CurrentGroupPage;
|
||||||
|
irr::s32 NumGroupPages;
|
||||||
bool IgnoreUncalled;
|
bool IgnoreUncalled;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -1099,6 +1099,24 @@ IGUIFont* CGUITable::getActiveFont() const
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//! Get the height of items/rows
|
||||||
|
s32 CGUITable::getItemHeight() const
|
||||||
|
{
|
||||||
|
return ItemHeight;
|
||||||
|
}
|
||||||
|
|
||||||
|
//! Access the vertical scrollbar
|
||||||
|
IGUIScrollBar* CGUITable::getVerticalScrollBar() const
|
||||||
|
{
|
||||||
|
return VerticalScrollBar;
|
||||||
|
}
|
||||||
|
|
||||||
|
//! Access the horizontal scrollbar
|
||||||
|
IGUIScrollBar* CGUITable::getHorizontalScrollBar() const
|
||||||
|
{
|
||||||
|
return HorizontalScrollBar;
|
||||||
|
}
|
||||||
|
|
||||||
//! Writes attributes of the element.
|
//! Writes attributes of the element.
|
||||||
void CGUITable::serializeAttributes(io::IAttributes* out, io::SAttributeReadWriteOptions* options) const
|
void CGUITable::serializeAttributes(io::IAttributes* out, io::SAttributeReadWriteOptions* options) const
|
||||||
{
|
{
|
||||||
|
|
|
@ -152,6 +152,15 @@ namespace gui
|
||||||
//! Get the font which is used right now for drawing
|
//! Get the font which is used right now for drawing
|
||||||
virtual IGUIFont* getActiveFont() const _IRR_OVERRIDE_;
|
virtual IGUIFont* getActiveFont() const _IRR_OVERRIDE_;
|
||||||
|
|
||||||
|
//! Get the height of items/rows
|
||||||
|
virtual s32 getItemHeight() const _IRR_OVERRIDE_;
|
||||||
|
|
||||||
|
//! Access the vertical scrollbar
|
||||||
|
virtual IGUIScrollBar* getVerticalScrollBar() const _IRR_OVERRIDE_;
|
||||||
|
|
||||||
|
//! Access the horizontal scrollbar
|
||||||
|
virtual IGUIScrollBar* getHorizontalScrollBar() const _IRR_OVERRIDE_;
|
||||||
|
|
||||||
//! Writes attributes of the object.
|
//! Writes attributes of the object.
|
||||||
//! Implement this to expose the attributes of your scene node animator for
|
//! Implement this to expose the attributes of your scene node animator for
|
||||||
//! scripting languages, editors, debuggers or xml serialization purposes.
|
//! scripting languages, editors, debuggers or xml serialization purposes.
|
||||||
|
|
|
@ -1081,6 +1081,18 @@ void CGUITreeView::setImageList( IGUIImageList* imageList )
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//! Access the vertical scrollbar
|
||||||
|
IGUIScrollBar* CGUITreeView::getVerticalScrollBar() const
|
||||||
|
{
|
||||||
|
return ScrollBarV;
|
||||||
|
}
|
||||||
|
|
||||||
|
//! Access the horizontal scrollbar
|
||||||
|
IGUIScrollBar* CGUITreeView::getHorizontalScrollBar() const
|
||||||
|
{
|
||||||
|
return ScrollBarH;
|
||||||
|
}
|
||||||
|
|
||||||
} // end namespace gui
|
} // end namespace gui
|
||||||
} // end namespace irr
|
} // end namespace irr
|
||||||
|
|
||||||
|
|
|
@ -297,6 +297,12 @@ namespace gui
|
||||||
virtual IGUITreeViewNode* getLastEventNode() const _IRR_OVERRIDE_
|
virtual IGUITreeViewNode* getLastEventNode() const _IRR_OVERRIDE_
|
||||||
{ return LastEventNode; }
|
{ return LastEventNode; }
|
||||||
|
|
||||||
|
//! Access the vertical scrollbar
|
||||||
|
virtual IGUIScrollBar* getVerticalScrollBar() const _IRR_OVERRIDE_;
|
||||||
|
|
||||||
|
//! Access the horizontal scrollbar
|
||||||
|
virtual IGUIScrollBar* getHorizontalScrollBar() const _IRR_OVERRIDE_;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
//! calculates the heigth of an node and of all visible nodes.
|
//! calculates the heigth of an node and of all visible nodes.
|
||||||
void recalculateItemHeight();
|
void recalculateItemHeight();
|
||||||
|
|
Loading…
Reference in New Issue