luis wrote:I noticed (installing the SDK you linked) the GDI+ functions (the flat API) seem to be missing, it's the same in your installation or I did something wrong ?
I noticed the same thing in the past anyway, I never had a MSDN or a SDK installed with the GDI+ docs on it.
I had to look on Internet when I needed them.
The flat API is not documented, but the classes that are based on it. In .NET it is in System.Drawing.
Press ALT+F1 on "GdipCreatePen1" (with my tool installed) and you get a search result that
shows you how the flat API pen functions map to the C++ Pen Class.
The C++ classes are included as source in the GdiPlus*.h headers, for example GdiPlusPen.h.
I have the "GDI+ Reference" bookmarked in H3Viewer, just search for "GDI+ Reference" and
make a bookmark. Online it is there:
GDI+ Reference and it is available offline too
(i have whole MSDN docu installed offline, 6.2GB for German/English).
From that starting Point you look in "Classes", for example "Classes -> Graphics.DrawImage()" and
you browse the GdiPlus*.h headers all the time.
I have installed my tool 2 times in the PB IDE. First ALT+F1 without arguments as shown in
the picture above, second time ALT+F2 with -search argument. If ALT+F1 does not show
me nice results i hit ALT+F2 for searching again. Maybe you want to do the same.
Here my code to convert the POLIB .def to Data.s .pbi: Def2pbi.pb
Code: Select all
Global NewList functions.s()
Global count = 0
Procedure addfunc(s.s)
If Asc(s)='"'
s = Mid(s,2)
If Asc(s)='_'
s = Mid(s,2)
EndIf
x = FindString(s,"@",2)
If x>1
s = Left(s,x-1)
s = ReplaceString(s,"@","")
Else
Debug "NO @ symbol in: "+s
x = FindString(s,#DQUOTE$,1)
s = Left(s,x-1)
Debug s
EndIf
LastElement( functions() )
AddElement( functions() )
functions() = s
If Right(s,1)="A" Or Right(s,1)="W"
found = 0
newfunc.s = Left(s,Len(s)-1)
ForEach functions()
If functions() = newfunc
found = 1
EndIf
Next
If Not found
LastElement( functions() )
AddElement( functions() )
functions() = newfunc
;Debug "auto added "+newfunc
EndIf
EndIf
EndIf
EndProcedure
Procedure Def2pbi(filename.s)
ClearList( functions() )
If ReadFile(0,filename)
While Not Eof(0)
addfunc(ReadString(0))
Wend
CloseFile(0)
If CreateFile(1,filename+".pbi")
SortList( functions() ,#PB_Sort_Ascending )
ForEach functions()
WriteStringN(1," Data.s "+#DQUOTE$+functions()+#DQUOTE$)
count + 1
Next
CloseFile(1)
Else
Debug "cant create file "+filename+".pbi"
EndIf
EndIf
EndProcedure
Def2pbi("ComCtl32.def")
Def2pbi("ComDlg32.def")
Def2pbi("Gdi32.def")
Def2pbi("Kernel32.def")
Def2pbi("Shell32.def")
Def2pbi("User32.def")
Def2pbi("WS2_32.def")
Debug Str(count)+" functions written."
Just modify it for your needs, the functions are in the linkedlist and you can change
the part where it is written into the .pbi. No need to do the same again yourself.
