parent
683605bcda
commit
f70ed1b63b
|
|
@ -2,9 +2,9 @@ function getdlsymaddress(lib,n); //
|
||||||
begin
|
begin
|
||||||
if not(ifstring(lib) and lib and n and ifstring(n)) then return 0;
|
if not(ifstring(lib) and lib and n and ifstring(n)) then return 0;
|
||||||
{$ifdef linux}
|
{$ifdef linux}
|
||||||
Return dlsym(dlopen(lib,0x101) ,n);
|
Return dlsym(dlopen(lib,0x101) ,n);
|
||||||
{$endif}
|
{$endif}
|
||||||
Return GetProcAddress(LoadLibraryA(lib),n);
|
Return GetProcAddress(LoadLibraryA(lib),n);
|
||||||
end
|
end
|
||||||
function dlopen(dl:string;flg:integer):pointer;cdecl ;external "libdl.so.2";
|
function dlopen(dl:string;flg:integer):pointer;cdecl ;external "libdl.so.2";
|
||||||
function dlsym(handle:pointer;symbol:string):pointer;cdecl ;external "libdl.so.2";
|
function dlsym(handle:pointer;symbol:string):pointer;cdecl ;external "libdl.so.2";
|
||||||
|
|
|
||||||
|
|
@ -17,7 +17,7 @@ type tgtkeventobject =class(tgtk_ctl_object) //gtk
|
||||||
end
|
end
|
||||||
|
|
||||||
type tsgtkapi = class(tgtkapis)
|
type tsgtkapi = class(tgtkapis)
|
||||||
class function AnsiToWidChar(c);
|
function AnsiToWidChar(c);
|
||||||
begin
|
begin
|
||||||
if not ifstring(c) then return "";
|
if not ifstring(c) then return "";
|
||||||
return c;
|
return c;
|
||||||
|
|
@ -575,7 +575,7 @@ type tsgtkapi = class(tgtkapis)
|
||||||
end
|
end
|
||||||
///////////////////////¿Õ½Ó¿Ú
|
///////////////////////¿Õ½Ó¿Ú
|
||||||
|
|
||||||
class function GetModuleHandleA(name:pointer)begin return 1; end;
|
function GetModuleHandleA(name:pointer)begin return 1; end;
|
||||||
|
|
||||||
function SetClassLongPtrA(HH:pointer;idx:integer;dwNewLong:pointer)begin end;
|
function SetClassLongPtrA(HH:pointer;idx:integer;dwNewLong:pointer)begin end;
|
||||||
function GetClassLongPtrA(HH:pointer;idx:integer)begin end;
|
function GetClassLongPtrA(HH:pointer;idx:integer)begin end;
|
||||||
|
|
@ -630,11 +630,11 @@ type tsgtkapi = class(tgtkapis)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
class function MultiByteToWideChar_a(CodePage:integer;dwFlags:integer;lpMultiByteStr:string;cbMultiByte:integer;var lpWideCharStr:string;cchWideChar:integer):integer;
|
function MultiByteToWideChar_a(CodePage:integer;dwFlags:integer;lpMultiByteStr:string;cbMultiByte:integer;var lpWideCharStr:string;cchWideChar:integer):integer;
|
||||||
begin
|
begin
|
||||||
|
|
||||||
end
|
end
|
||||||
class function GetEncoderClsid(n:String;ed:pointer):integer;
|
function GetEncoderClsid(n:String;ed:pointer):integer;
|
||||||
begin
|
begin
|
||||||
WriteStringToPtr(ed,n); //±£´æ
|
WriteStringToPtr(ed,n); //±£´æ
|
||||||
return -1;
|
return -1;
|
||||||
|
|
@ -2217,7 +2217,7 @@ type tsgtkapi = class(tgtkapis)
|
||||||
//////////////////////////////////////end clip board //////////////////////////////////
|
//////////////////////////////////////end clip board //////////////////////////////////
|
||||||
|
|
||||||
//////////////////////////////timmer//////////////////
|
//////////////////////////////timmer//////////////////
|
||||||
class function SetTimer(hWnd:pointer; nIDEvent:pointer; uElapse:integer;lpTimerFunc:pointer):integer;
|
function SetTimer(hWnd:pointer; nIDEvent:pointer; uElapse:integer;lpTimerFunc:pointer):integer;
|
||||||
begin
|
begin
|
||||||
global g_gtk_ttimer_cache;
|
global g_gtk_ttimer_cache;
|
||||||
if not ifarray(g_gtk_ttimer_cache) then g_gtk_ttimer_cache := array();
|
if not ifarray(g_gtk_ttimer_cache) then g_gtk_ttimer_cache := array();
|
||||||
|
|
@ -2227,7 +2227,7 @@ type tsgtkapi = class(tgtkapis)
|
||||||
obj._setvalue_(0,rt);
|
obj._setvalue_(0,rt);
|
||||||
return rt;
|
return rt;
|
||||||
end
|
end
|
||||||
class function KillTimer(hWnd:pointer; nIDEvent:pointer):integer;
|
function KillTimer(hWnd:pointer; nIDEvent:pointer):integer;
|
||||||
begin
|
begin
|
||||||
global g_gtk_ttimer_cache;
|
global g_gtk_ttimer_cache;
|
||||||
if not ifarray(g_gtk_ttimer_cache) then return 0;
|
if not ifarray(g_gtk_ttimer_cache) then return 0;
|
||||||
|
|
@ -2844,7 +2844,7 @@ type tgtkapis = class() //gtk
|
||||||
b := getbvalue(c)/0xff ;
|
b := getbvalue(c)/0xff ;
|
||||||
return true;
|
return true;
|
||||||
end
|
end
|
||||||
class function gtk_object_set_data(h,n,v); //±£´æÊý¾Ý
|
function gtk_object_set_data(h,n,v); //±£´æÊý¾Ý
|
||||||
begin
|
begin
|
||||||
if not(h>0 or h<0) then return 0;
|
if not(h>0 or h<0) then return 0;
|
||||||
global gtk_object_data_values_global;
|
global gtk_object_data_values_global;
|
||||||
|
|
@ -2858,7 +2858,7 @@ type tgtkapis = class() //gtk
|
||||||
gtk_object_data_values_global[inttostr(h),n] := v;
|
gtk_object_data_values_global[inttostr(h),n] := v;
|
||||||
//echo tostn(gtk_object_data_values_global);
|
//echo tostn(gtk_object_data_values_global);
|
||||||
end
|
end
|
||||||
class function gtk_object_get_data(h,n); //»ñµÃÊý¾Ý
|
function gtk_object_get_data(h,n); //»ñµÃÊý¾Ý
|
||||||
begin
|
begin
|
||||||
if not(h>0 or h<0) then return 0;
|
if not(h>0 or h<0) then return 0;
|
||||||
global gtk_object_data_values_global;
|
global gtk_object_data_values_global;
|
||||||
|
|
@ -3549,6 +3549,7 @@ type tgtkapis = class() //gtk
|
||||||
|
|
||||||
|
|
||||||
/////////////////////////window//////////
|
/////////////////////////window//////////
|
||||||
|
function gtk_window_list_toplevels():pointer;cdecl;external 'libgtk-3.so';
|
||||||
procedure gdk_window_move_resize(w:pointer;x:integer;y:integer;wd:integer;h:integer);cdecl;external 'libgtk-3.so';
|
procedure gdk_window_move_resize(w:pointer;x:integer;y:integer;wd:integer;h:integer);cdecl;external 'libgtk-3.so';
|
||||||
procedure gdk_window_resize(w:pointer;wd:integer;h:integer);cdecl;external 'libgtk-3.so';
|
procedure gdk_window_resize(w:pointer;wd:integer;h:integer);cdecl;external 'libgtk-3.so';
|
||||||
procedure gtk_window_begin_move_drag(w:pointer;btn:integer;x:integer;y:integer;t:integer);cdecl;external 'libgtk-3.so';
|
procedure gtk_window_begin_move_drag(w:pointer;btn:integer;x:integer;y:integer;t:integer);cdecl;external 'libgtk-3.so';
|
||||||
|
|
@ -3783,8 +3784,7 @@ type tgtkapis = class() //gtk
|
||||||
end
|
end
|
||||||
procedure gtk_widget_set_parent_window(w:pointer;p:pointer);cdecl;external 'libgtk-3.so';
|
procedure gtk_widget_set_parent_window(w:pointer;p:pointer);cdecl;external 'libgtk-3.so';
|
||||||
procedure gtk_widget_get_parent_window(w:pointer;p:pointer);cdecl;external 'libgtk-3.so';
|
procedure gtk_widget_get_parent_window(w:pointer;p:pointer);cdecl;external 'libgtk-3.so';
|
||||||
function gtk_widget_get_type():pointer;cdecl;external 'libgtk-3.so';
|
function gtk_widget_get_type():pointer;cdecl;external 'libgtk-3.so';
|
||||||
|
|
||||||
procedure gtk_widget_modify_bg(w:pointer;tyle:integer;c:pointer);cdecl;external 'libgtk-3.so';
|
procedure gtk_widget_modify_bg(w:pointer;tyle:integer;c:pointer);cdecl;external 'libgtk-3.so';
|
||||||
procedure gtk_layout_move(l:pointer;w:pointer;x:integer;y:integer);cdecl;external 'libgtk-3.so';
|
procedure gtk_layout_move(l:pointer;w:pointer;x:integer;y:integer);cdecl;external 'libgtk-3.so';
|
||||||
procedure gtk_grab_add(w:pointer);cdecl;external 'libgtk-3.so';
|
procedure gtk_grab_add(w:pointer);cdecl;external 'libgtk-3.so';
|
||||||
|
|
@ -3847,6 +3847,35 @@ type tgtkapis = class() //gtk
|
||||||
function gtk_image_new():pointer; cdecl;external 'libgtk-3.so';
|
function gtk_image_new():pointer; cdecl;external 'libgtk-3.so';
|
||||||
function gdk_pixbuf_get_width(src_pixbuf:pointer):integer;cdecl;external 'libgtk-3.so';
|
function gdk_pixbuf_get_width(src_pixbuf:pointer):integer;cdecl;external 'libgtk-3.so';
|
||||||
function gdk_pixbuf_get_height(src_pixbuf:pointer):integer;cdecl;external 'libgtk-3.so';
|
function gdk_pixbuf_get_height(src_pixbuf:pointer):integer;cdecl;external 'libgtk-3.so';
|
||||||
|
////////////////////libc////////////////////////////////
|
||||||
|
function popen(e:string;f:string):pointer;cdecl;external "libc.so.6";
|
||||||
|
function pclose(p:pointer):integer;cdecl;external "libc.so.6";
|
||||||
|
function fgets(var e:string;f:integer;ptr:pointer):pointer;cdecl;external "libc.so.6";
|
||||||
|
function exec_command_line(cmd)
|
||||||
|
begin
|
||||||
|
len := 1024;
|
||||||
|
buf_ps := "";
|
||||||
|
setlength(buf_ps,len);
|
||||||
|
result := "";
|
||||||
|
ptr:=popen(cmd, "r");
|
||||||
|
if((ptr)<>0) then
|
||||||
|
begin
|
||||||
|
while(fgets(buf_ps, len, ptr)<>0) do
|
||||||
|
begin
|
||||||
|
for i:= 1 to len do
|
||||||
|
begin
|
||||||
|
vi := buf_ps[i];
|
||||||
|
if vi="\0" then
|
||||||
|
begin
|
||||||
|
break;
|
||||||
|
end
|
||||||
|
result += buf_ps[i];
|
||||||
|
end
|
||||||
|
end
|
||||||
|
pclose(ptr);
|
||||||
|
end
|
||||||
|
return result;
|
||||||
|
end
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
@ -5828,10 +5857,10 @@ type tgtk_ctl_object = class(_gtkeventtype)
|
||||||
static _const;
|
static _const;
|
||||||
private
|
private
|
||||||
FHandle;
|
FHandle;
|
||||||
class function gtk_widget_get_type():pointer;cdecl;external 'libgtk-3.so';
|
function gtk_widget_get_type():pointer;cdecl;external 'libgtk-3.so';
|
||||||
class procedure g_signal_handler_disconnect(instance:pointer;id:integer);cdecl;external 'libgtk-3.so';
|
procedure g_signal_handler_disconnect(instance:pointer;id:integer);cdecl;external 'libgtk-3.so';
|
||||||
class function g_signal_connect_data(instance:pointer; detailed_signal:string; c_handler:pointer;data:pointer;dd:pointer;f:integer):pointer;cdecl;external 'libgtk-3.so';
|
function g_signal_connect_data(instance:pointer; detailed_signal:string; c_handler:pointer;data:pointer;dd:pointer;f:integer):pointer;cdecl;external 'libgtk-3.so';
|
||||||
class function g_signal_new(signal_name:string;
|
function g_signal_new(signal_name:string;
|
||||||
itype:pointer;
|
itype:pointer;
|
||||||
signal_flags:integer;
|
signal_flags:integer;
|
||||||
class_offset:integer;
|
class_offset:integer;
|
||||||
|
|
@ -5868,7 +5897,7 @@ type tgtk_ctl_object = class(_gtkeventtype)
|
||||||
return true;
|
return true;
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
class function initNewSingal();
|
function initNewSingal();
|
||||||
begin
|
begin
|
||||||
return ;
|
return ;
|
||||||
//wm-user
|
//wm-user
|
||||||
|
|
|
||||||
|
|
@ -55,7 +55,7 @@ type twindowsapi = class()
|
||||||
return ret;
|
return ret;
|
||||||
end
|
end
|
||||||
//////////////////////////////////////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////////////////////////////////////
|
||||||
class function AnsiToWidChar(c);
|
function AnsiToWidChar(c);
|
||||||
begin
|
begin
|
||||||
if not ifstring(c) then return "";
|
if not ifstring(c) then return "";
|
||||||
iSize := MultiByteToWideChar_a(0, 0, C , -1, "", 0);
|
iSize := MultiByteToWideChar_a(0, 0, C , -1, "", 0);
|
||||||
|
|
@ -65,7 +65,7 @@ type twindowsapi = class()
|
||||||
MultiByteToWideChar_a(0, 0, c , -1, pwszUnicode , iSize-1);
|
MultiByteToWideChar_a(0, 0, c , -1, pwszUnicode , iSize-1);
|
||||||
return pwszUnicode;
|
return pwszUnicode;
|
||||||
end
|
end
|
||||||
class function GetEncoderClsid(n:String;ed:pointer);
|
function GetEncoderClsid(n:String;ed:pointer);
|
||||||
begin
|
begin
|
||||||
r := tslvclgetencoderclsid(n,ed);
|
r := tslvclgetencoderclsid(n,ed);
|
||||||
return r;
|
return r;
|
||||||
|
|
@ -129,17 +129,17 @@ type twindowsapi = class()
|
||||||
global g_windows_proc_handle;
|
global g_windows_proc_handle;
|
||||||
return g_windows_proc_handle;
|
return g_windows_proc_handle;
|
||||||
end
|
end
|
||||||
class function SetTimer(hWnd:pointer; nIDEvent:pointer; uElapse:integer;lpTimerFunc:pointer):integer;stdcall;external "User32.dll" name "SetTimer";
|
function SetTimer(hWnd:pointer; nIDEvent:pointer; uElapse:integer;lpTimerFunc:pointer):integer;stdcall;external "User32.dll" name "SetTimer";
|
||||||
class function KillTimer(hWnd:pointer; nIDEvent:pointer):integer;stdcall;external "User32.dll" name "KillTimer";
|
function KillTimer(hWnd:pointer; nIDEvent:pointer):integer;stdcall;external "User32.dll" name "KillTimer";
|
||||||
|
|
||||||
class function MultiByteToWideChar_a(CodePage:integer;dwFlags:integer;lpMultiByteStr:string;cbMultiByte:integer;var lpWideCharStr:string;cchWideChar:integer):integer;stdcall;external "Kernel32.dll" name "MultiByteToWideChar";
|
function MultiByteToWideChar_a(CodePage:integer;dwFlags:integer;lpMultiByteStr:string;cbMultiByte:integer;var lpWideCharStr:string;cchWideChar:integer):integer;stdcall;external "Kernel32.dll" name "MultiByteToWideChar";
|
||||||
class function GetModuleHandleA(name:pointer):pointer;stdcall;external "Kernel32.dll" name "GetModuleHandleA";
|
function GetModuleHandleA(name:pointer):pointer;stdcall;external "Kernel32.dll" name "GetModuleHandleA";
|
||||||
class function GetComputerNameA(var lpBuffer:string;var nSize:integer):integer;stdcall;external "Kernel32.dll" name "GetComputerNameA";
|
function GetComputerNameA(var lpBuffer:string;var nSize:integer):integer;stdcall;external "Kernel32.dll" name "GetComputerNameA";
|
||||||
class function GetLastError():integer;stdcall;external "Kernel32.dll" name "GetLastError";
|
function GetLastError():integer;stdcall;external "Kernel32.dll" name "GetLastError";
|
||||||
class function GetEnvironmentVariableA(lpName:string;lpBuffer:string;nSize:integer):integer;stdcall;external "Kernel32.dll" name "GetEnvironmentVariableA";
|
function GetEnvironmentVariableA(lpName:string;lpBuffer:string;nSize:integer):integer;stdcall;external "Kernel32.dll" name "GetEnvironmentVariableA";
|
||||||
class function SetEnvironmentVariableA(lpName:string; lpValue:string):integer;stdcall;external "Kernel32.dll" name "SetEnvironmentVariableA";
|
function SetEnvironmentVariableA(lpName:string; lpValue:string):integer;stdcall;external "Kernel32.dll" name "SetEnvironmentVariableA";
|
||||||
class function GetLogicalDriveStringsA(BUFSIZE:integer; szLogicDriveStrings:string):integer;stdcall;external "Kernel32.dll" name "GetLogicalDriveStringsA";
|
function GetLogicalDriveStringsA(BUFSIZE:integer; szLogicDriveStrings:string):integer;stdcall;external "Kernel32.dll" name "GetLogicalDriveStringsA";
|
||||||
class function GetDiskFreeSpaceExA(lpDirectoryName:string;var lpFreeBytesAvailableToCaller:int64;var lpTotalNumberOfBytes:int64;var lpTotalNumberOfFreeBytes:int64):integer;stdcall ;external "Kernel32.dll" name "GetDiskFreeSpaceExA";
|
function GetDiskFreeSpaceExA(lpDirectoryName:string;var lpFreeBytesAvailableToCaller:int64;var lpTotalNumberOfBytes:int64;var lpTotalNumberOfFreeBytes:int64):integer;stdcall ;external "Kernel32.dll" name "GetDiskFreeSpaceExA";
|
||||||
function GlobalAlloc(uFlags :integer;dwBytes:integer):pointer;stdcall;external "Kernel32.dll" name "GlobalAlloc";
|
function GlobalAlloc(uFlags :integer;dwBytes:integer):pointer;stdcall;external "Kernel32.dll" name "GlobalAlloc";
|
||||||
function CreateStreamOnHGlobal(hGlobal:pointer;fDeleteOnRelease:integer; var ppstm:pointer):pointer;stdcall;external "Ole32.dll" name "CreateStreamOnHGlobal";
|
function CreateStreamOnHGlobal(hGlobal:pointer;fDeleteOnRelease:integer; var ppstm:pointer):pointer;stdcall;external "Ole32.dll" name "CreateStreamOnHGlobal";
|
||||||
function GetHGlobalFromStream(pstm:pointer; var phglobal:pointer):pointer;stdcall;external "Ole32.dll" name "GetHGlobalFromStream";
|
function GetHGlobalFromStream(pstm:pointer; var phglobal:pointer):pointer;stdcall;external "Ole32.dll" name "GetHGlobalFromStream";
|
||||||
|
|
@ -246,15 +246,15 @@ type twindowsapi = class()
|
||||||
function GetKeyNameTextA(lParam:integer;var lpString:string;cchSize:integer):integer;stdcall;external "User32.dll" name "GetKeyNameTextA";
|
function GetKeyNameTextA(lParam:integer;var lpString:string;cchSize:integer):integer;stdcall;external "User32.dll" name "GetKeyNameTextA";
|
||||||
|
|
||||||
//´°¿ÚÏà¹Ø
|
//´°¿ÚÏà¹Ø
|
||||||
class function FindWindowA(lpClassName:string;lpWindowName:string):pointer;stdcall;external "User32.dll" name "FindWindowA";
|
function FindWindowA(lpClassName:string;lpWindowName:string):pointer;stdcall;external "User32.dll" name "FindWindowA";
|
||||||
class function GetForegroundWindow():pointer;stdcall;external "User32.dll" name "GetForegroundWindow";
|
function GetForegroundWindow():pointer;stdcall;external "User32.dll" name "GetForegroundWindow";
|
||||||
class function GetActiveWindow():pointer;stdcall;external "User32.dll" name "GetActiveWindow";
|
function GetActiveWindow():pointer;stdcall;external "User32.dll" name "GetActiveWindow";
|
||||||
class function SetActiveWindow(h:pointer):pointer;stdcall;external "user32.dll" name "SetActiveWindow";
|
function SetActiveWindow(h:pointer):pointer;stdcall;external "user32.dll" name "SetActiveWindow";
|
||||||
function UpdateLayeredWindow(hWnd:pointer;hdcDst:pointer;pptDst:pointer;psize:pointer;hdcSrc:pointer;pptSrc:pointer; crKey:integer;pblend:pointer; dwFlags:pointer):integer;stdcall;external "User32.dll" name "UpdateLayeredWindow";
|
function UpdateLayeredWindow(hWnd:pointer;hdcDst:pointer;pptDst:pointer;psize:pointer;hdcSrc:pointer;pptSrc:pointer; crKey:integer;pblend:pointer; dwFlags:pointer):integer;stdcall;external "User32.dll" name "UpdateLayeredWindow";
|
||||||
function GetFocus():pointer;stdcall;external "User32.dll" name "GetFocus";
|
function GetFocus():pointer;stdcall;external "User32.dll" name "GetFocus";
|
||||||
function SetLayeredWindowAttributes(hwnd:pointer;crKey:integer;bAlpha:byte;dwFlags:integer):integer;stdcall;external "User32.dll" name "SetLayeredWindowAttributes";
|
function SetLayeredWindowAttributes(hwnd:pointer;crKey:integer;bAlpha:byte;dwFlags:integer):integer;stdcall;external "User32.dll" name "SetLayeredWindowAttributes";
|
||||||
class function IsWindow(hd:pointer):integer;stdcall;external "User32.dll" name "IsWindow";
|
function IsWindow(hd:pointer):integer;stdcall;external "User32.dll" name "IsWindow";
|
||||||
class function IsWindowVisible(hd:pointer):integer;stdcall;external "User32.dll" name "IsWindowVisible";
|
function IsWindowVisible(hd:pointer):integer;stdcall;external "User32.dll" name "IsWindowVisible";
|
||||||
function GetWindow(hd:pointer;cd:integer):pointer;stdcall;external "User32.dll" name "GetWindow";
|
function GetWindow(hd:pointer;cd:integer):pointer;stdcall;external "User32.dll" name "GetWindow";
|
||||||
//function GetNextWindow(hd:pointer;cd:integer):pointer;stdcall;external "User32.dll" name "GetNextWindow";
|
//function GetNextWindow(hd:pointer;cd:integer):pointer;stdcall;external "User32.dll" name "GetNextWindow";
|
||||||
function GetNextWindow(h,cd);
|
function GetNextWindow(h,cd);
|
||||||
|
|
@ -271,6 +271,7 @@ type twindowsapi = class()
|
||||||
function ForegroundWindow(wnd_);
|
function ForegroundWindow(wnd_);
|
||||||
begin
|
begin
|
||||||
if not (wnd_>0 or wnd_<0) then return 0;
|
if not (wnd_>0 or wnd_<0) then return 0;
|
||||||
|
ShowWindow(wnd_,1);
|
||||||
SetWindowPos(wnd_, 0xFFFFFFFF, 0, 0, 0, 0, 1 .| 2);
|
SetWindowPos(wnd_, 0xFFFFFFFF, 0, 0, 0, 0, 1 .| 2);
|
||||||
SetWindowPos(wnd_, 0xFFFFFFFE, 0, 0, 0, 0, 1 .| 2);
|
SetWindowPos(wnd_, 0xFFFFFFFE, 0, 0, 0, 0, 1 .| 2);
|
||||||
return 1;
|
return 1;
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue