From 81ae5c8dee8fc9fb58ea6acdf4abfdef91b40534 Mon Sep 17 00:00:00 2001 From: lazarus Date: Thu, 10 Aug 2000 18:56:24 +0000 Subject: [PATCH] Added some winapi calls. Most don't have code yet. SetTextCharacterExtra CharLowerBuff IsCharAlphaNumeric Shane git-svn-id: trunk@29 - --- ide/ideeditor.pp | 17 ++++++++++++- lcl/graphics.pp | 9 +++++++ lcl/include/canvas.inc | 15 ++++++++++++ lcl/include/interfacebase.inc | 16 ++++++++++++- lcl/include/winapi.inc | 40 +++++++++++++++++++++++++++++++ lcl/include/winapih.inc | 13 ++++++++++ lcl/interfaces/gtk/gtkwinapi.inc | 20 ++++++++++++++++ lcl/interfaces/gtk/gtkwinapih.inc | 9 +++++++ lcl/lcllinux.pp | 15 ++++++++++++ 9 files changed, 152 insertions(+), 2 deletions(-) diff --git a/ide/ideeditor.pp b/ide/ideeditor.pp index baac487102..93992a8477 100644 --- a/ide/ideeditor.pp +++ b/ide/ideeditor.pp @@ -19,6 +19,7 @@ } {$H+} //{$DEFINE NEW_EDITOR} +//{$DEFINE NEW_EDITOR_SYNEDIT} unit IDEEditor; {$mode objfpc} @@ -27,15 +28,29 @@ interface uses classes, Controls, forms,buttons,sysutils, - mwcustomedit,mwPasSyn, Graphics,Extctrls;//,TabNotBk; +{$ifdef NEW_EDITOR_SYNEDIT} + synedit,SysHighlighterpas, +{$else} + mwcustomedit,mwPasSyn, +{$endif} + Graphics,Extctrls; type +{$ifdef NEW_EDITOR_SYNEDIT} + TmwCustomEdit = TSynEdit; + TmwPasSyn = TSynPasSyn; +{$endif} + TIDEEditor = class(TFORM) Notebook1 : TNotebook; private FEmpty : Boolean; +{$ifdef NEW_EDITOR_SYNEDIT} + FHighlighter: TSynPasSyn; +{$else} FHighlighter: TmwPasSyn; +{$endif} FCurrentSource : TStrings; FCurrentCursorXLine : Integer; FCurrentCursorYLine : Integer; diff --git a/lcl/graphics.pp b/lcl/graphics.pp index 2102e2f629..21e514bf09 100644 --- a/lcl/graphics.pp +++ b/lcl/graphics.pp @@ -324,6 +324,7 @@ type public procedure Arc(x,y,width,height,angle1,angle2 : Integer); + Procedure BrushCopy(Dest : TRect; InternalImages: TBitmap; Src : TRect; TransparentColor :TColor); constructor Create; Procedure CopyRect(const Dest : TRect; Canvas : TCanvas; const Source : TRect); destructor Destroy; override; @@ -510,6 +511,14 @@ end. { ============================================================================= $Log$ + Revision 1.2 2000/08/10 18:56:23 lazarus + Added some winapi calls. + Most don't have code yet. + SetTextCharacterExtra + CharLowerBuff + IsCharAlphaNumeric + Shane + Revision 1.1 2000/07/13 10:28:23 michael + Initial import diff --git a/lcl/include/canvas.inc b/lcl/include/canvas.inc index 367e6d675a..84b75eb332 100644 --- a/lcl/include/canvas.inc +++ b/lcl/include/canvas.inc @@ -5,6 +5,13 @@ const csAllValid = [csHandleValid..csBrushValid]; +{-----------------------------------------------} +{-- TCanvas.BrushCopy --} +{-----------------------------------------------} +Procedure TCanvas.BrushCopy(Dest : TRect; InternalImages: TBitmap; Src : TRect; TransparentColor :TColor); +Begin +//TODO:TCANVAS.BRUSHCOPY +end; {-----------------------------------------------} {-- TCanvas.Draw --} @@ -519,6 +526,14 @@ end; { ============================================================================= $Log$ + Revision 1.2 2000/08/10 18:56:24 lazarus + Added some winapi calls. + Most don't have code yet. + SetTextCharacterExtra + CharLowerBuff + IsCharAlphaNumeric + Shane + Revision 1.1 2000/07/13 10:28:24 michael + Initial import diff --git a/lcl/include/interfacebase.inc b/lcl/include/interfacebase.inc index c5484ecdc6..a72465907e 100644 --- a/lcl/include/interfacebase.inc +++ b/lcl/include/interfacebase.inc @@ -331,6 +331,12 @@ begin Result := False; end; +Function TInterfaceBase.SetTextCharacterExtra(_hdc : hdc; nCharExtra : Integer):Integer; +begin + // Your default here + // Result := +end; + function TInterfaceBase.SetTextColor(DC: HDC; Color: TColorRef): TColorRef; begin Result := CLR_INVALID; @@ -369,13 +375,21 @@ end; Function TInterfaceBase.WindowFromPoint(Point : TPoint) : HWND; begin // Your default here - // Result := + Result := 0; end; //##apiwiz##eps## // Do not remove { ============================================================================= $Log$ + Revision 1.3 2000/08/10 18:56:24 lazarus + Added some winapi calls. + Most don't have code yet. + SetTextCharacterExtra + CharLowerBuff + IsCharAlphaNumeric + Shane + Revision 1.2 2000/07/30 21:48:32 lazarus MWE: = Moved ObjectToGTKObject to GTKProc unit diff --git a/lcl/include/winapi.inc b/lcl/include/winapi.inc index 57d4929591..5eef2de293 100644 --- a/lcl/include/winapi.inc +++ b/lcl/include/winapi.inc @@ -336,6 +336,11 @@ begin Result := InterfaceObject.SetSysColors(cElements, lpaElements, lpaRgbValues); end; +Function SetTextCharacterExtra(_hdc : hdc; nCharExtra : Integer):Integer; +begin + Result := InterfaceObject.SetTextCharacterExtra(_hdc, nCharExtra); +end; + function SetTextColor(DC: HDC; Color: TColorRef): TColorRef; begin Result := InterfaceObject.SetTextColor(DC, Color); @@ -412,6 +417,20 @@ Begin Result := Getdc(Handle); end; +{------------------------------------------------------------------------------ + Function: CharLowerBuff + Params: pStr: + Len: + Returns: + + ------------------------------------------------------------------------------} +Function CharLowerBuff(pStr : PChar; Len : Integer): Integer; +begin + // your code here +//TODO:WINAPI call CHARLOWERBUFF +Writeln('TODO: WINAPI call CHARLOWERBUFF'); +end; + {------------------------------------------------------------------------------ Function: CopyRect pbd @@ -647,6 +666,19 @@ begin Result := True; end; +{------------------------------------------------------------------------------ + Function: IsCharAlphaNumeric + Params: c: + Returns: + + ------------------------------------------------------------------------------} +Function IsCharAlphaNumeric(c : Char) : Boolean; +begin + // your code here + Result := False; + Result := ((ord(c) >= 65) and (ord(c) <=90) ) or ((ord(c) >= 97) and (ord(c) <=122) ); +end; + {------------------------------------------------------------------------------ Function: IsRectEmpty Params: @@ -879,6 +911,14 @@ end; { ============================================================================= $Log$ + Revision 1.3 2000/08/10 18:56:24 lazarus + Added some winapi calls. + Most don't have code yet. + SetTextCharacterExtra + CharLowerBuff + IsCharAlphaNumeric + Shane + Revision 1.2 2000/07/30 21:48:32 lazarus MWE: = Moved ObjectToGTKObject to GTKProc unit diff --git a/lcl/include/winapih.inc b/lcl/include/winapih.inc index 31ee476fe1..19c4da5fca 100644 --- a/lcl/include/winapih.inc +++ b/lcl/include/winapih.inc @@ -22,6 +22,7 @@ function BitBlt(DestDC: HDC; X, Y, Width, Height: Integer; SrcDC: HDC; XSrc, YSrc: Integer; Rop: DWORD): Boolean; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} function CallNextHookEx(hhk : HHOOK; ncode : Integer; wParam, lParam : Longint) : Integer; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} +//function CharLowerBuff --> independent Function ClienttoScreen(Handle : HWND; var P : TPoint) : Boolean; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} function CreateBitmap(Width, Height: Integer; Planes, BitCount: Longint; BitmapBits: Pointer): HBITMAP; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} function CreateBrushIndirect(const LogBrush: TLogBrush): HBRUSH; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} @@ -74,6 +75,7 @@ function HideCaret(hWnd: HWND): Boolean; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} //function InflateRect --> independent //function IntersectRect --> independent +//function IsCharAlphaNumeric --> independent //function IsRectEmpty --> independent function LineTo(DC: HDC; X, Y: Integer): Boolean; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} @@ -111,6 +113,7 @@ function SetScrollInfo(Handle: HWND; SBStyle : Integer; ScrollInfo: TScrollInfo; //function SetScrollPos --> independent //function SetScrollRange --> independent function SetSysColors(cElements: Integer; const lpaElements; const lpaRgbValues): Boolean; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} +Function SetTextCharacterExtra(_hdc : hdc; nCharExtra : Integer):Integer; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} function SetTextColor(DC: HDC; Color: TColorRef): TColorRef; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} function SetWindowLong(Handle: HWND; Idx: Integer; NewLong : Longint): Longint;{$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} function SetWindowOrgEx(dc : hdc; NewX, NewY : Integer; Var Point : TPoint): Boolean; {$IFDEF IF_BASE_MEMBER}virtual;{$ENDIF} @@ -159,6 +162,7 @@ function AdjustWindowRectEx( Var Rect: TRect; Style1: Word; MenuExist : Boolean; Function BeginPaint(Handle : hwnd; var PS : TPaintStruct): hdc; +Function CharLowerBuff(pStr : PChar; Len : Integer): Integer; function CopyRect(var lprcDst: TRect; const lprcSrc: TRect): Boolean; function CreateFont(Height, Width, Escapement, Orientation, Weight: Integer; Italic, Underline, StrikeOut, CharSet, OutputPrecision, ClipPrecision, @@ -175,6 +179,7 @@ function GetScrollRange(Handle: HWND; nBar: Integer; var lpMinPos, lpMaxPos: Int function InflateRect(var Rect: TRect; dx, dy: Integer): Boolean; function IntersectClipRect(dc: hdc; Leftrect, Toprect, RightREct,Bottomrect : Integer): Integer; function IntersectRect(var lprcDst: TRect; const lprcSrc1, lprcSrc2: TRect): Boolean; +Function IsCharAlphaNumeric(c : Char) : Boolean; function IsRectEmpty(const lprc: TRect): Boolean; function OffSetRect(var Rect: TRect; dx,dy: Integer): Boolean; @@ -206,6 +211,14 @@ function UnionRect(var lprcDst: TRect; const lprcSrc1, lprcSrc2: TRect): Boolean { ============================================================================= $Log$ + Revision 1.3 2000/08/10 18:56:24 lazarus + Added some winapi calls. + Most don't have code yet. + SetTextCharacterExtra + CharLowerBuff + IsCharAlphaNumeric + Shane + Revision 1.2 2000/07/30 21:48:32 lazarus MWE: = Moved ObjectToGTKObject to GTKProc unit diff --git a/lcl/interfaces/gtk/gtkwinapi.inc b/lcl/interfaces/gtk/gtkwinapi.inc index d57d48a435..ea0b5f84f3 100644 --- a/lcl/interfaces/gtk/gtkwinapi.inc +++ b/lcl/interfaces/gtk/gtkwinapi.inc @@ -2715,6 +2715,18 @@ begin Result := True; end; +{------------------------------------------------------------------------------ + Function: SetTextCharacterExtra + Params: _hdc: + nCharExtra: + Returns: + + ------------------------------------------------------------------------------} +Function TGTKObject.SetTextCharacterExtra(_hdc : hdc; nCharExtra : Integer):Integer; +begin + // Your code here +end; + {------------------------------------------------------------------------------ Function: SetTextColor Params: hdc: Identifies the device context. @@ -2982,6 +2994,14 @@ end; { ============================================================================= $Log$ + Revision 1.5 2000/08/10 18:56:24 lazarus + Added some winapi calls. + Most don't have code yet. + SetTextCharacterExtra + CharLowerBuff + IsCharAlphaNumeric + Shane + Revision 1.4 2000/08/07 17:06:39 lazarus Slight modification to CreateFontIndirect. I check to see if the GdiObject^.GDIFontObject is nil. If so After the code to retry the weight and slant I added code to retry the Family and Foundry. diff --git a/lcl/interfaces/gtk/gtkwinapih.inc b/lcl/interfaces/gtk/gtkwinapih.inc index 953671fa31..bf375cc0d5 100644 --- a/lcl/interfaces/gtk/gtkwinapih.inc +++ b/lcl/interfaces/gtk/gtkwinapih.inc @@ -79,6 +79,7 @@ function SetFocus(hWnd: HWND): HWND; override; Function SetProp(Handle: hwnd; Str : PChar; Data : Pointer) : Boolean; override; function SetScrollInfo(Handle : HWND; SBStyle : Integer; ScrollInfo: TScrollInfo; bRedraw : Boolean): Integer; override; function SetSysColors(cElements: Integer; const lpaElements; const lpaRgbValues): Boolean; override; +Function SetTextCharacterExtra(_hdc : hdc; nCharExtra : Integer):Integer; override; function SetTextColor(DC: HDC; Color: TColorRef): TColorRef; override; function SetWindowLong(Handle: HWND; Idx: Integer; NewLong : Longint): LongInt; function SetWindowOrgEx(dc : hdc; NewX, NewY : Integer; Var lpPoint : TPoint) : Boolean; @@ -93,6 +94,14 @@ Function WindowFromPoint(Point : TPoint) : HWND; override; { ============================================================================= $Log$ + Revision 1.3 2000/08/10 18:56:24 lazarus + Added some winapi calls. + Most don't have code yet. + SetTextCharacterExtra + CharLowerBuff + IsCharAlphaNumeric + Shane + Revision 1.2 2000/07/30 21:48:34 lazarus MWE: = Moved ObjectToGTKObject to GTKProc unit diff --git a/lcl/lcllinux.pp b/lcl/lcllinux.pp index 529ef0aa18..b2d00abd3c 100644 --- a/lcl/lcllinux.pp +++ b/lcl/lcllinux.pp @@ -46,6 +46,7 @@ type //TODO: check this against vclglobals + PLongInt = ^LongInt; PInteger = ^Integer; PSmallInt = ^SmallInt; @@ -66,6 +67,12 @@ type HINST = type LongWord; HICON = type LongWord; HCURSOR = HICON; + Bool = LongBool; + pByte = ^byte; +var + hInstance :HINST; + +type TKeyBoardState = array[0..255] of byte; @@ -1345,6 +1352,14 @@ end. { $Log$ + Revision 1.2 2000/08/10 18:56:24 lazarus + Added some winapi calls. + Most don't have code yet. + SetTextCharacterExtra + CharLowerBuff + IsCharAlphaNumeric + Shane + Revision 1.1 2000/07/13 10:28:24 michael + Initial import