72500faf7c
This just uses the existing wxImage ctor from XPM data and wxCursor ctor from wxImage, but will allow the code creating cursors from XPM to still work even when wxImage ctor from XPM is made explicit. Add a trivial test just to check that the new ctor can be used.
73 lines
1.9 KiB
C++
73 lines
1.9 KiB
C++
/////////////////////////////////////////////////////////////////////////////
|
|
// Name: wx/motif/cursor.h
|
|
// Purpose: wxCursor class
|
|
// Author: Julian Smart
|
|
// Modified by:
|
|
// Created: 17/09/98
|
|
// Copyright: (c) Julian Smart
|
|
// Licence: wxWindows licence
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
#ifndef _WX_CURSOR_H_
|
|
#define _WX_CURSOR_H_
|
|
|
|
#include "wx/gdicmn.h"
|
|
|
|
class WXDLLIMPEXP_FWD_CORE wxImage;
|
|
|
|
// Cursor
|
|
class WXDLLIMPEXP_CORE wxCursor : public wxCursorBase
|
|
{
|
|
public:
|
|
wxCursor();
|
|
|
|
wxCursor(const char bits[], int width, int height,
|
|
int hotSpotX = -1, int hotSpotY = -1,
|
|
const char maskBits[] = NULL,
|
|
const wxColour* fg = NULL, const wxColour* bg = NULL);
|
|
|
|
wxCursor(const wxString& name,
|
|
wxBitmapType type = wxCURSOR_DEFAULT_TYPE,
|
|
int hotSpotX = 0, int hotSpotY = 0);
|
|
|
|
#if wxUSE_IMAGE
|
|
wxCursor(const wxImage& image);
|
|
wxCursor(const char* const* xpmData);
|
|
#endif
|
|
|
|
wxCursor(wxStockCursor id) { InitFromStock(id); }
|
|
#if WXWIN_COMPATIBILITY_2_8
|
|
wxCursor(int id) { InitFromStock((wxStockCursor)id); }
|
|
#endif
|
|
|
|
virtual ~wxCursor();
|
|
|
|
// Motif-specific.
|
|
// Create/get a cursor for the current display
|
|
WXCursor GetXCursor(WXDisplay* display) const;
|
|
|
|
protected:
|
|
virtual wxGDIRefData *CreateGDIRefData() const;
|
|
virtual wxGDIRefData *CloneGDIRefData(const wxGDIRefData *data) const;
|
|
|
|
private:
|
|
void InitFromStock(wxStockCursor);
|
|
|
|
#if wxUSE_IMAGE
|
|
void InitFromImage(const wxImage& image);
|
|
#endif
|
|
|
|
void Create(const char bits[], int width, int height,
|
|
int hotSpotX = -1, int hotSpotY = -1,
|
|
const char maskBits[] = NULL);
|
|
void Create(WXPixmap cursor, WXPixmap mask, int hotSpotX, int hotSpotY);
|
|
|
|
// Make a cursor from standard id
|
|
WXCursor MakeCursor(WXDisplay* display, wxStockCursor id) const;
|
|
|
|
wxDECLARE_DYNAMIC_CLASS(wxCursor);
|
|
};
|
|
|
|
#endif
|
|
// _WX_CURSOR_H_
|