//**************************************************************************************** // File: CairoGraphPort.cpp // // Copyright: 1999-2007, Ableton AG, Berlin. All rights reserved. //**************************************************************************************** //======================================================================================== //+I{ #include "WindViewL.h" #include "WindView/Src/CairoGraphPort.h" //+I} //+E{ //+E} //======================================================================================== //---------------------------------------------------------------------------------------- ACairoGraphPort* ACairoGraphPort::SCreate( unsigned char* pBuffer, TInt Width, TInt Height, TInt Stride) { cairo_surface_t* pSurface = cairo_image_surface_create_for_data( pBuffer, CAIRO_FORMAT_ARGB32, Width, Height, Stride); return new ACairoGraphPort(pSurface, Width, Height); } //---------------------------------------------------------------------------------------- ACairoGraphPort::ACairoGraphPort(cairo_surface_t* pSurface, TInt Width, TInt Height) : AGraphPort(TPoint(Width, Height)), mpSurface(pSurface) { mpCairo = cairo_create(mpSurface); } //---------------------------------------------------------------------------------------- void ACairoGraphPort::DrawPixel(TPoint P, TColor Color) { SetColor(Color); cairo_rectangle(mpCairo, P.X(), P.Y(), 1, 1); cairo_fill(mpCairo); } //---------------------------------------------------------------------------------------- void ACairoGraphPort::SetPixel(TPoint P, TColor Color) { MUnused(P); MUnused(Color); MInvalid("[nia] Not supported"); } //---------------------------------------------------------------------------------------- void ACairoGraphPort::DrawLine(TPoint P0, TPoint P1, TColor Color) { DrawLine(P0, P1, Color, 1); } //---------------------------------------------------------------------------------------- void ACairoGraphPort::DrawLine(TPoint P0, TPoint P1, TColor Color, TInt Thickness) { SetColor(Color); cairo_set_line_width(mpCairo, Thickness); cairo_move_to(mpCairo, P0.X() + 0.5, P0.Y() + 0.5); cairo_line_to(mpCairo, P1.X() + 0.5, P1.Y() + 0.5); cairo_stroke(mpCairo); } //---------------------------------------------------------------------------------------- void ACairoGraphPort::DrawLine( TPoint P0, TPoint P1, TColor Color1, TColor Color2, const TFillPattern& Pattern) { } //---------------------------------------------------------------------------------------- void ACairoGraphPort::DrawLine( TPoint P0, TPoint P1, TColor Color1, TColor Color2, const TFillPattern& Pattern, TInt Thickness) { } //---------------------------------------------------------------------------------------- void ACairoGraphPort::DrawAntiAliasedLine( TFloat X, TFloat Y, TFloat X2, TFloat Y2, TColor Color, TFloat Thickness) { } //---------------------------------------------------------------------------------------- void ACairoGraphPort::DrawRect(TRect Rect, TColor Color) { DrawRect(Rect, Color, 1); } //---------------------------------------------------------------------------------------- void ACairoGraphPort::DrawRect( TRect Rect, TColor Color1, TColor Color2, const TFillPattern& Pattern) { } //---------------------------------------------------------------------------------------- void ACairoGraphPort::DrawRect( TRect Rect, TColor Color1, TColor Color2, const TFillPattern& Pattern, TInt Thickness) { } //---------------------------------------------------------------------------------------- void ACairoGraphPort::DrawRect(TRect Rect, TColor Color, TInt Thickness) { SetColor(Color); cairo_set_line_width(mpCairo, Thickness); cairo_rectangle(mpCairo, Rect.X0(), Rect.Y0(), Rect.SizeX(), Rect.SizeY()); cairo_stroke(mpCairo); } //---------------------------------------------------------------------------------------- void ACairoGraphPort::DrawFilledRect(TRect Rect, TColor Color) { SetColor(Color); cairo_rectangle(mpCairo, Rect.X0(), Rect.Y0(), Rect.SizeX(), Rect.SizeY()); cairo_fill(mpCairo); } //---------------------------------------------------------------------------------------- void ACairoGraphPort::DrawFilledRectThreshold( TRect Rect, TColor Color1, TColor Color2, TDouble Threshold) { } //---------------------------------------------------------------------------------------- void ACairoGraphPort::DrawCorners(TRect Rect, TInt Length, TColor Color) { } //---------------------------------------------------------------------------------------- void ACairoGraphPort::DrawCorners(TRect Rect, TInt Length, TColor Color, TInt Thickness) { } //---------------------------------------------------------------------------------------- void ACairoGraphPort::FillLowerDiagonalOfRect(TPoint Left, TPoint Right, TColor Color) { } //---------------------------------------------------------------------------------------- void ACairoGraphPort::DrawFilledTriangle(TPoint Point, TInt X, TInt Y, TColor Color) { } //---------------------------------------------------------------------------------------- void ACairoGraphPort::Clear(TColor Color) { } //---------------------------------------------------------------------------------------- void ACairoGraphPort::SetAlpha(TU8 Alpha, TRect Rect) { } //---------------------------------------------------------------------------------------- void ACairoGraphPort::DrawBitmap( ABitmap *pBitmap, TPoint DstPos, TBool UseAlpha) { } //---------------------------------------------------------------------------------------- void ACairoGraphPort::DrawBitmap( ABitmap *pBitmap, TRect Src, TPoint DstPos, TBool UseAlpha) { } //---------------------------------------------------------------------------------------- void ACairoGraphPort::DrawBitmapScaled( TPtr pSrcBitmap, TRect SrcRect, TRect DstRect, TBool UseAlpha, TBool DstInFixedPoint) { } //**************************************************************************************** // E O F //****************************************************************************************