27wxImage Image_Rotate(wxImage &base_image,
double angle,
28 const wxPoint ¢re_of_rotation,
bool interpolating,
29 wxPoint *offset_after_rotation);
47#define __PIX_CACHE_WXIMAGE__
52#define __PIX_CACHE_WXIMAGE__
58#define __PIX_CACHE_WXIMAGE__
65#define __PIX_CACHE_WXIMAGE__
69#define __PIX_CACHE_WXIMAGE__
78#ifdef __PIX_CACHE_X11IMAGE__
79#define ocpnUSE_ocpnBitmap
82#ifdef __PIX_CACHE_PIXBUF__
83#define ocpnUSE_ocpnBitmap
84#define opcnUSE_GTK_OPTIMIZE
89#ifdef __PIX_CACHE_X11IMAGE__
95#ifdef __PIX_CACHE_WXIMAGE__
98#ifdef __PIX_CACHE_DIBSECTION__
101#ifdef __PIX_CACHE_X11IMAGE__
104#ifdef __PIX_CACHE_PIXBUF__
114#ifdef __PIX_CACHE_X11IMAGE__
115#include <wx/x11/private.h>
120#include <X11/extensions/XShm.h>
124#include <wx/msw/dib.h>
131typedef enum RGBO { RGB = 0, BGR } _RGBO;
135#ifdef __PIX_CACHE_X11IMAGE__
141 ocpnXImage(
int width,
int height);
143 bool PutImage(Pixmap pixmap, GC gc);
146 XShmSegmentInfo shminfo;
152 int m_width, m_height;
166 void SelectIntoDC(wxMemoryDC &dc);
168 RGBO GetRGBO() {
return m_rgbo; }
169 unsigned char *GetpData()
const;
170 int GetLinePitch()
const {
return line_pitch_bytes; }
171 int GetWidth(
void) {
return m_width; }
172 int GetHeight(
void) {
return m_height; }
173 size_t GetLength(
void);
180 int line_pitch_bytes;
183 unsigned char *pData;
185#ifdef ocpnUSE_ocpnBitmap
193#ifdef __PIX_CACHE_DIBSECTION__
197#ifdef __PIX_CACHE_X11IMAGE__
200 ocpnXImage *m_pocpnXI;
205 XShmSegmentInfo *pshminfo;
208#ifdef __PIX_CACHE_PIXBUF__
209 unsigned char *m_pdata;
214#ifdef ocpnUSE_ocpnBitmap
222#include <wx/msw/gdiimage.h>
223#include <wx/msw/dib.h>
227#include <wx/x11/private.h>
230class WXDLLEXPORT wxDC;
231class WXDLLEXPORT wxControl;
232class WXDLLEXPORT wxBitmap;
233class WXDLLEXPORT wxBitmapHandler;
234class WXDLLEXPORT wxIcon;
235class WXDLLEXPORT wxMask;
236class WXDLLEXPORT wxCursor;
237class WXDLLEXPORT wxControl;
238class WXDLLEXPORT wxImage;
239class WXDLLEXPORT wxPalette;
245class ocpnBitmap :
public wxBitmap {
252 ocpnBitmap(
unsigned char *pPix,
int width,
int height,
int depth) {
253 (void)CreateFromData(pPix, width, height, depth);
258 ocpnBitmap(
const wxImage &image,
int depth) { CreateFromImage(image, depth); }
262 ocpnBitmap(ocpnXImage *ocpn_Ximage,
int width,
int height,
int depth) {
263 CreateFromocpnXImage(ocpn_Ximage, width, height, depth);
271 bool CreateFromData(
void *pPix,
int width,
int height,
int depth);
274 bool CreateFromImage(
const wxImage &image,
int depth);
278 bool CreateFromocpnXImage(ocpnXImage *poXI,
int width,
int height,
int depth);
296 void SelectObject(wxBitmap &bitmap) { wxMemoryDC::SelectObject(bitmap); }
299#ifdef ocpnUSE_DIBSECTION
300 void SelectObject(wxDIB &dib);
305#ifdef ocpnUSE_DIBSECTION
306 wxDIB *m_pselectedDIB;