Files
macvim-mirror/src/MacVim/MMAtsuiTextView.h
T
Bjorn Winckler c1a59b534a Add +balloon_eval support
The tracking rect code had to be pulled to get tool tips to work.  This
has at least one negative drawback (the mouse cursor does not change
back to an arrow when moved outside the window) and there may be more.

Changes to 'bdlay' are only detected after disabling and re-enabling
'beval'.
2010-07-25 22:58:24 +02:00

107 lines
2.8 KiB
Objective-C

/* vi:set ts=8 sts=4 sw=4 ft=objc:
*
* VIM - Vi IMproved by Bram Moolenaar
* MacVim GUI port by Bjorn Winckler
*
* Do ":help uganda" in Vim to read copying and usage conditions.
* Do ":help credits" in Vim to see a list of people who contributed.
* See README.txt for an overview of the Vim source code.
*/
#import <Cocoa/Cocoa.h>
#import "Miscellaneous.h"
#if MM_ENABLE_ATSUI
enum { MMMaxCellsPerChar = 2 };
@class MMTextViewHelper;
@interface MMAtsuiTextView : NSView <NSTextInput> {
// From MMTextStorage
int maxRows, maxColumns;
NSColor *defaultBackgroundColor;
NSColor *defaultForegroundColor;
NSSize cellSize;
NSFont *font;
NSFont *fontWide;
float linespace;
float ascender;
// From NSTextView
NSSize insetSize;
// From vim-cocoa
NSImage *contentImage;
NSSize imageSize;
ATSUStyle atsuStyles[MMMaxCellsPerChar];
BOOL antialias;
MMTextViewHelper *helper;
}
- (id)initWithFrame:(NSRect)frame;
//
// MMTextStorage methods
//
- (int)maxRows;
- (int)maxColumns;
- (void)getMaxRows:(int*)rows columns:(int*)cols;
- (void)setMaxRows:(int)rows columns:(int)cols;
- (void)setDefaultColorsBackground:(NSColor *)bgColor
foreground:(NSColor *)fgColor;
- (NSColor *)defaultBackgroundColor;
- (NSColor *)defaultForegroundColor;
- (NSRect)rectForRowsInRange:(NSRange)range;
- (NSRect)rectForColumnsInRange:(NSRange)range;
- (void)setFont:(NSFont *)newFont;
- (void)setWideFont:(NSFont *)newFont;
- (NSFont *)font;
- (NSFont *)fontWide;
- (NSSize)cellSize;
- (void)setLinespace:(float)newLinespace;
//
// MMTextView methods
//
- (void)deleteSign:(NSString *)signName;
- (void)setToolTipAtMousePoint:(NSString *)string;
- (void)setPreEditRow:(int)row column:(int)col;
- (void)setMouseShape:(int)shape;
- (void)setAntialias:(BOOL)state;
- (void)setImControl:(BOOL)enable;
- (void)activateIm:(BOOL)enable;
- (BOOL)convertPoint:(NSPoint)point toRow:(int *)row column:(int *)column;
- (NSPoint)pointForRow:(int)row column:(int)col;
- (NSRect)rectForRow:(int)row column:(int)col numRows:(int)nr
numColumns:(int)nc;
//
// NSTextView methods
//
- (void)keyDown:(NSEvent *)event;
- (void)insertText:(id)string;
- (void)doCommandBySelector:(SEL)selector;
- (BOOL)performKeyEquivalent:(NSEvent *)event;
//
// NSTextContainer methods
//
- (void)setTextContainerInset:(NSSize)inset;
//
// MMAtsuiTextView methods
//
- (void)performBatchDrawWithData:(NSData *)data;
- (NSSize)desiredSize;
- (NSSize)minSize;
- (NSSize)constrainRows:(int *)rows columns:(int *)cols toSize:(NSSize)size;
@end
#endif // MM_ENABLE_ATSUI