You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
56 lines
1.3 KiB
56 lines
1.3 KiB
//========= Copyright Valve Corporation, All rights reserved. ============// |
|
// |
|
// Purpose: |
|
// |
|
// $NoKeywords: $ |
|
//=============================================================================// |
|
|
|
#ifndef IMAGELIST_H |
|
#define IMAGELIST_H |
|
|
|
#ifdef _WIN32 |
|
#pragma once |
|
#endif |
|
|
|
#include <utlvector.h> |
|
#include <vgui/VGUI.h> |
|
#include <vgui/IImage.h> |
|
|
|
namespace vgui |
|
{ |
|
|
|
//----------------------------------------------------------------------------- |
|
// Purpose: holds a collection of images |
|
// used by controls so that images can be refered to by indices |
|
//----------------------------------------------------------------------------- |
|
class ImageList |
|
{ |
|
public: |
|
ImageList(bool deleteImagesWhenDone); |
|
~ImageList(); |
|
|
|
// adds a new image to the list, returning the index it was placed at |
|
int AddImage(vgui::IImage *image); |
|
|
|
// returns the number of images |
|
int GetImageCount(); |
|
|
|
// returns true if an index is valid |
|
bool IsValidIndex(int imageIndex); |
|
|
|
// sets an image at a specified index, growing and adding NULL images if necessary |
|
void SetImageAtIndex(int index, vgui::IImage *image); |
|
|
|
// gets an image, imageIndex is of range [0, GetImageCount) |
|
// image index 0 is always the blank image |
|
vgui::IImage *GetImage(int imageIndex); |
|
|
|
private: |
|
CUtlVector<vgui::IImage *> m_Images; |
|
bool m_bDeleteImagesWhenDone; |
|
}; |
|
|
|
|
|
} // namespace vgui |
|
|
|
#endif // IMAGELIST_H
|
|
|