You've already forked lazarus-ccr
richmemo: gtk2 imlpementation of CharAtPos
git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@4088 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
@ -91,6 +91,7 @@ type
|
|||||||
|
|
||||||
class function GetParaRange(const AWinControl: TWinControl; TextStart: Integer; var rng: TParaRange): Boolean; override;
|
class function GetParaRange(const AWinControl: TWinControl; TextStart: Integer; var rng: TParaRange): Boolean; override;
|
||||||
class procedure InDelText(const AWinControl: TWinControl; const TextUTF8: String; DstStart, DstLen: Integer); override;
|
class procedure InDelText(const AWinControl: TWinControl; const TextUTF8: String; DstStart, DstLen: Integer); override;
|
||||||
|
class function CharAtPos(const AWinControl: TWinControl; x,y: Integer): Integer; override;
|
||||||
|
|
||||||
class function Search(const AWinControl: TWinControl; const ANiddle: string; const SearchOpts: TIntSearchOpt): Integer; override;
|
class function Search(const AWinControl: TWinControl; const ANiddle: string; const SearchOpts: TIntSearchOpt): Integer; override;
|
||||||
|
|
||||||
@ -1199,6 +1200,23 @@ begin
|
|||||||
gtk_text_buffer_insert(b, @istart, @textUTF8[1], length(TextUTF8));
|
gtk_text_buffer_insert(b, @istart, @textUTF8[1], length(TextUTF8));
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
class function TGtk2WSCustomRichMemo.CharAtPos(const AWinControl: TWinControl;
|
||||||
|
x, y: Integer): Integer;
|
||||||
|
var
|
||||||
|
w : PGtkWidget;
|
||||||
|
b : PGtkTextBuffer;
|
||||||
|
istart : TGtkTextIter;
|
||||||
|
gx, gy : gint;
|
||||||
|
trailing: gint;
|
||||||
|
begin
|
||||||
|
GetWidgetBuffer(AWinControl, w, b);
|
||||||
|
if not Assigned(w) then Exit;
|
||||||
|
|
||||||
|
gtk_text_view_window_to_buffer_coords(PGtkTextView(w), GTK_TEXT_WINDOW_WIDGET, x, y, @gx, @gy);
|
||||||
|
gtk_text_view_get_iter_at_position(PGtkTextView(w), @istart, @trailing, gx,gy);
|
||||||
|
Result:=gtk_text_iter_get_offset(@istart)+trailing;
|
||||||
|
end;
|
||||||
|
|
||||||
procedure UTF8CharsToWideString(const p: Pchar; var w: WideString);
|
procedure UTF8CharsToWideString(const p: Pchar; var w: WideString);
|
||||||
var
|
var
|
||||||
slen : Integer;
|
slen : Integer;
|
||||||
|
Reference in New Issue
Block a user