diff options
Diffstat (limited to 'cocoa/PlatCocoa.h')
-rw-r--r-- | cocoa/PlatCocoa.h | 154 |
1 files changed, 76 insertions, 78 deletions
diff --git a/cocoa/PlatCocoa.h b/cocoa/PlatCocoa.h index f8f1bd698..1394a7b16 100644 --- a/cocoa/PlatCocoa.h +++ b/cocoa/PlatCocoa.h @@ -21,101 +21,99 @@ #include "QuartzTextLayout.h" -NSRect PRectangleToNSRect(const Scintilla::PRectangle& rc); -Scintilla::PRectangle NSRectToPRectangle(NSRect& rc); +NSRect PRectangleToNSRect(const Scintilla::PRectangle &rc); +Scintilla::PRectangle NSRectToPRectangle(NSRect &rc); CFStringEncoding EncodingFromCharacterSet(bool unicode, int characterSet); -@interface ScintillaContextMenu : NSMenu -{ - Scintilla::ScintillaCocoa* owner; +@interface ScintillaContextMenu : NSMenu { + Scintilla::ScintillaCocoa *owner; } -- (void) handleCommand: (NSMenuItem*) sender; -- (void) setOwner: (Scintilla::ScintillaCocoa*) newOwner; +- (void) handleCommand: (NSMenuItem *) sender; +- (void) setOwner: (Scintilla::ScintillaCocoa *) newOwner; @end namespace Scintilla { // A class to do the actual text rendering for us using Quartz 2D. -class SurfaceImpl : public Surface -{ +class SurfaceImpl : public Surface { private: - bool unicodeMode; - float x; - float y; + bool unicodeMode; + float x; + float y; - CGContextRef gc; + CGContextRef gc; - /** The text layout instance */ - std::unique_ptr<QuartzTextLayout> textLayout; - int codePage; - int verticalDeviceResolution; + /** The text layout instance */ + std::unique_ptr<QuartzTextLayout> textLayout; + int codePage; + int verticalDeviceResolution; - /** If the surface is a bitmap context, contains a reference to the bitmap data. */ - std::unique_ptr<uint8_t[]> bitmapData; - /** If the surface is a bitmap context, stores the dimensions of the bitmap. */ - int bitmapWidth; - int bitmapHeight; + /** If the surface is a bitmap context, contains a reference to the bitmap data. */ + std::unique_ptr<uint8_t[]> bitmapData; + /** If the surface is a bitmap context, stores the dimensions of the bitmap. */ + int bitmapWidth; + int bitmapHeight; - /** Set the CGContext's fill colour to the specified desired colour. */ - void FillColour( const ColourDesired& back ); + /** Set the CGContext's fill colour to the specified desired colour. */ + void FillColour(const ColourDesired &back); - // 24-bit RGB+A bitmap data constants - static const int BITS_PER_COMPONENT = 8; - static const int BITS_PER_PIXEL = BITS_PER_COMPONENT * 4; - static const int BYTES_PER_PIXEL = BITS_PER_PIXEL / 8; + // 24-bit RGB+A bitmap data constants + static const int BITS_PER_COMPONENT = 8; + static const int BITS_PER_PIXEL = BITS_PER_COMPONENT * 4; + static const int BYTES_PER_PIXEL = BITS_PER_PIXEL / 8; public: - SurfaceImpl(); - ~SurfaceImpl() override; - - void Init(WindowID wid) override; - void Init(SurfaceID sid, WindowID wid) override; - void InitPixMap(int width, int height, Surface *surface_, WindowID wid) override; - CGContextRef GetContext() { return gc; } - - void Release() override; - bool Initialised() override; - void PenColour(ColourDesired fore) override; - - /** Returns a CGImageRef that represents the surface. Returns NULL if this is not possible. */ - CGImageRef GetImage(); - void CopyImageRectangle(Surface &surfaceSource, PRectangle srcRect, PRectangle dstRect); - - int LogPixelsY() override; - int DeviceHeightFont(int points) override; - void MoveTo(int x_, int y_) override; - void LineTo(int x_, int y_) override; - void Polygon(Scintilla::Point *pts, int npts, ColourDesired fore, ColourDesired back) override; - void RectangleDraw(PRectangle rc, ColourDesired fore, ColourDesired back) override; - void FillRectangle(PRectangle rc, ColourDesired back) override; - void FillRectangle(PRectangle rc, Surface &surfacePattern) override; - void RoundedRectangle(PRectangle rc, ColourDesired fore, ColourDesired back) override; - void AlphaRectangle(PRectangle rc, int cornerSize, ColourDesired fill, int alphaFill, - ColourDesired outline, int alphaOutline, int flags) override; - void DrawRGBAImage(PRectangle rc, int width, int height, const unsigned char *pixelsImage) override; - void Ellipse(PRectangle rc, ColourDesired fore, ColourDesired back) override; - void Copy(PRectangle rc, Scintilla::Point from, Surface &surfaceSource) override; - void DrawTextNoClip(PRectangle rc, Font &font_, XYPOSITION ybase, const char *s, int len, ColourDesired fore, - ColourDesired back) override; - void DrawTextClipped(PRectangle rc, Font &font_, XYPOSITION ybase, const char *s, int len, ColourDesired fore, - ColourDesired back) override; - void DrawTextTransparent(PRectangle rc, Font &font_, XYPOSITION ybase, const char *s, int len, ColourDesired fore) override; - void MeasureWidths(Font &font_, const char *s, int len, XYPOSITION *positions) override; - XYPOSITION WidthText(Font &font_, const char *s, int len) override; - XYPOSITION WidthChar(Font &font_, char ch) override; - XYPOSITION Ascent(Font &font_) override; - XYPOSITION Descent(Font &font_) override; - XYPOSITION InternalLeading(Font &font_) override; - XYPOSITION ExternalLeading(Font &font_) override; - XYPOSITION Height(Font &font_) override; - XYPOSITION AverageCharWidth(Font &font_) override; - - void SetClip(PRectangle rc) override; - void FlushCachedState() override; - - void SetUnicodeMode(bool unicodeMode_) override; - void SetDBCSMode(int codePage_) override; + SurfaceImpl(); + ~SurfaceImpl() override; + + void Init(WindowID wid) override; + void Init(SurfaceID sid, WindowID wid) override; + void InitPixMap(int width, int height, Surface *surface_, WindowID wid) override; + CGContextRef GetContext() { return gc; } + + void Release() override; + bool Initialised() override; + void PenColour(ColourDesired fore) override; + + /** Returns a CGImageRef that represents the surface. Returns NULL if this is not possible. */ + CGImageRef GetImage(); + void CopyImageRectangle(Surface &surfaceSource, PRectangle srcRect, PRectangle dstRect); + + int LogPixelsY() override; + int DeviceHeightFont(int points) override; + void MoveTo(int x_, int y_) override; + void LineTo(int x_, int y_) override; + void Polygon(Scintilla::Point *pts, int npts, ColourDesired fore, ColourDesired back) override; + void RectangleDraw(PRectangle rc, ColourDesired fore, ColourDesired back) override; + void FillRectangle(PRectangle rc, ColourDesired back) override; + void FillRectangle(PRectangle rc, Surface &surfacePattern) override; + void RoundedRectangle(PRectangle rc, ColourDesired fore, ColourDesired back) override; + void AlphaRectangle(PRectangle rc, int cornerSize, ColourDesired fill, int alphaFill, + ColourDesired outline, int alphaOutline, int flags) override; + void DrawRGBAImage(PRectangle rc, int width, int height, const unsigned char *pixelsImage) override; + void Ellipse(PRectangle rc, ColourDesired fore, ColourDesired back) override; + void Copy(PRectangle rc, Scintilla::Point from, Surface &surfaceSource) override; + void DrawTextNoClip(PRectangle rc, Font &font_, XYPOSITION ybase, const char *s, int len, ColourDesired fore, + ColourDesired back) override; + void DrawTextClipped(PRectangle rc, Font &font_, XYPOSITION ybase, const char *s, int len, ColourDesired fore, + ColourDesired back) override; + void DrawTextTransparent(PRectangle rc, Font &font_, XYPOSITION ybase, const char *s, int len, ColourDesired fore) override; + void MeasureWidths(Font &font_, const char *s, int len, XYPOSITION *positions) override; + XYPOSITION WidthText(Font &font_, const char *s, int len) override; + XYPOSITION WidthChar(Font &font_, char ch) override; + XYPOSITION Ascent(Font &font_) override; + XYPOSITION Descent(Font &font_) override; + XYPOSITION InternalLeading(Font &font_) override; + XYPOSITION ExternalLeading(Font &font_) override; + XYPOSITION Height(Font &font_) override; + XYPOSITION AverageCharWidth(Font &font_) override; + + void SetClip(PRectangle rc) override; + void FlushCachedState() override; + + void SetUnicodeMode(bool unicodeMode_) override; + void SetDBCSMode(int codePage_) override; }; // SurfaceImpl class } // Scintilla namespace |