dolphin/Externals/wxWidgets3/include/wx/iconbndl.h
Soren Jorvang d14efe561b Import r67258 of the wxWidgets trunk, which I expect will before
long become wxWidgets 2.9.2, which in turn is expected to be the
last 2.9 release before the 3.0 stable release.

Since the full wxWidgets distribution is rather large, I have
imported only the parts that we use, on a subdirectory basis:

art
include/wx/*.*
include/wx/aui
include/wx/cocoa
include/wx/generic
include/wx/gtk
include/wx/meta
include/wx/msw
include/wx/osx
include/wx/persist
include/wx/private
include/wx/protocol
include/wx/unix
src/aui
src/common
src/generic
src/gtk
src/msw
src/osx
src/unix


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7380 8ced0084-cf51-0410-be5f-012b33b47a6e
2011-03-20 18:05:19 +00:00

116 lines
3.9 KiB
C++

///////////////////////////////////////////////////////////////////////////////
// Name: wx/iconbndl.h
// Purpose: wxIconBundle
// Author: Mattia barbon
// Modified by:
// Created: 23.03.02
// RCS-ID: $Id: iconbndl.h 63942 2010-04-12 00:36:31Z VZ $
// Copyright: (c) Mattia Barbon
// Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
#ifndef _WX_ICONBNDL_H_
#define _WX_ICONBNDL_H_
#include "wx/gdiobj.h"
#include "wx/gdicmn.h" // for wxSize
#include "wx/icon.h"
#include "wx/dynarray.h"
class WXDLLIMPEXP_FWD_BASE wxInputStream;
WX_DECLARE_EXPORTED_OBJARRAY(wxIcon, wxIconArray);
// this class can't load bitmaps of type wxBITMAP_TYPE_ICO_RESOURCE,
// if you need them, you have to load them manually and call
// wxIconCollection::AddIcon
class WXDLLIMPEXP_CORE wxIconBundle : public wxGDIObject
{
public:
// default constructor
wxIconBundle();
// initializes the bundle with the icon(s) found in the file
#if wxUSE_STREAMS && wxUSE_IMAGE
#if wxUSE_FFILE || wxUSE_FILE
wxIconBundle(const wxString& file, wxBitmapType type = wxBITMAP_TYPE_ANY);
#endif // wxUSE_FFILE || wxUSE_FILE
wxIconBundle(wxInputStream& stream, wxBitmapType type = wxBITMAP_TYPE_ANY);
#endif // wxUSE_STREAMS && wxUSE_IMAGE
// initializes the bundle with a single icon
wxIconBundle(const wxIcon& icon);
// default copy ctor and assignment operator are OK
// adds all the icons contained in the file to the collection,
// if the collection already contains icons with the same
// width and height, they are replaced
#if wxUSE_STREAMS && wxUSE_IMAGE
#if wxUSE_FFILE || wxUSE_FILE
void AddIcon(const wxString& file, wxBitmapType type = wxBITMAP_TYPE_ANY);
#endif // wxUSE_FFILE || wxUSE_FILE
void AddIcon(wxInputStream& stream, wxBitmapType type = wxBITMAP_TYPE_ANY);
#endif // wxUSE_STREAMS && wxUSE_IMAGE
// adds the icon to the collection, if the collection already
// contains an icon with the same width and height, it is
// replaced
void AddIcon(const wxIcon& icon);
// returns the icon with the given size; if no such icon exists,
// returns the icon with size wxSYS_ICON_[XY]; if no such icon exists,
// returns the first icon in the bundle
wxIcon GetIcon(const wxSize& size) const;
// equivalent to GetIcon(wxSize(size, size))
wxIcon GetIcon(wxCoord size = wxDefaultCoord) const
{ return GetIcon(wxSize(size, size)); }
// returns the icon exactly of the specified size or wxNullIcon if no icon
// of exactly given size are available
wxIcon GetIconOfExactSize(const wxSize& size) const;
wxIcon GetIconOfExactSize(wxCoord size) const
{ return GetIconOfExactSize(wxSize(size, size)); }
// enumerate all icons in the bundle: don't use these functions if ti can
// be avoided, using GetIcon() directly is better
// return the number of available icons
size_t GetIconCount() const;
// return the icon at index (must be < GetIconCount())
wxIcon GetIconByIndex(size_t n) const;
// check if we have any icons at all
bool IsEmpty() const { return GetIconCount() == 0; }
#if WXWIN_COMPATIBILITY_2_8
#if wxUSE_STREAMS && wxUSE_IMAGE && (wxUSE_FFILE || wxUSE_FILE)
wxDEPRECATED( void AddIcon(const wxString& file, long type)
{
AddIcon(file, (wxBitmapType)type);
}
)
wxDEPRECATED_CONSTRUCTOR( wxIconBundle (const wxString& file, long type)
{
AddIcon(file, (wxBitmapType)type);
}
)
#endif // wxUSE_STREAMS && wxUSE_IMAGE && (wxUSE_FFILE || wxUSE_FILE)
#endif // WXWIN_COMPATIBILITY_2_8
protected:
virtual wxGDIRefData *CreateGDIRefData() const;
virtual wxGDIRefData *CloneGDIRefData(const wxGDIRefData *data) const;
private:
// delete all icons
void DeleteIcons();
DECLARE_DYNAMIC_CLASS(wxIconBundle)
};
#endif // _WX_ICONBNDL_H_