winamp/Src/Wasabi/api/wnd/platform/osx/bltcanvas.h

27 lines
845 B
C++

#ifndef _BLTCANVAS_H
#define _BLTCANVAS_H
#include "canvas.h"
class BltCanvas : public Canvas
{
public:
BltCanvas();
BltCanvas(int width, int height, OSWINDOWHANDLE wnd);
// override blit and stretchblit so we can use CGContextDrawLayerAtPoint/CGContextDrawLayerInRect
virtual void blit(int srcx, int srcy, Canvas *dest, int dstx, int dsty, int dstw, int dsth);
void blitToRect(ifc_canvas *canvas, RECT *src, RECT *dst, int alpha = 255);
virtual void stretchblit(int srcx, int srcy, int srcw, int srch, Canvas *dest, int dstx, int dsty, int dstw, int dsth);
void stretchToRectAlpha(ifc_canvas *canvas, RECT *src, RECT *dst, int alpha = 255);
void DestructiveResize(int w, int h, int nb_bpp = 32); // resizes the bitmap, destroying the contents
void fillBits(ARGB32 color);
protected:
CGLayerRef layer;
};
#endif