1
0
mirror of https://github.com/moparisthebest/Simba synced 2024-11-04 16:35:15 -05:00

Playing a bit with the DTM type

This commit is contained in:
Merlijn Wajer 2010-03-26 15:20:50 +01:00
parent 03fd6b25e2
commit 094f4bb8b6
3 changed files with 130 additions and 90 deletions

View File

@ -37,17 +37,17 @@
<PackageName Value="LCL"/>
</Item1>
</RequiredPackages>
<Units Count="33">
<Units Count="34">
<Unit0>
<Filename Value="libmml.lpr"/>
<IsPartOfProject Value="True"/>
<UnitName Value="libmml"/>
<CursorPos X="45" Y="32"/>
<TopLine Value="20"/>
<CursorPos X="26" Y="60"/>
<TopLine Value="40"/>
<EditorIndex Value="0"/>
<WindowIndex Value="0"/>
<IsVisibleTab Value="True"/>
<UsageCount Value="26"/>
<UsageCount Value="33"/>
<Loaded Value="True"/>
</Unit0>
<Unit1>
@ -55,7 +55,7 @@
<CursorPos X="36" Y="282"/>
<TopLine Value="259"/>
<IsVisibleTab Value="True"/>
<UsageCount Value="10"/>
<UsageCount Value="9"/>
</Unit1>
<Unit2>
<Filename Value="../../Units/MMLCore/client.pas"/>
@ -64,7 +64,7 @@
<TopLine Value="33"/>
<EditorIndex Value="5"/>
<WindowIndex Value="0"/>
<UsageCount Value="12"/>
<UsageCount Value="15"/>
<Loaded Value="True"/>
</Unit2>
<Unit3>
@ -74,7 +74,7 @@
<TopLine Value="1"/>
<EditorIndex Value="3"/>
<WindowIndex Value="0"/>
<UsageCount Value="12"/>
<UsageCount Value="15"/>
<Loaded Value="True"/>
</Unit3>
<Unit4>
@ -83,7 +83,7 @@
<CursorPos X="69" Y="243"/>
<TopLine Value="220"/>
<IsVisibleTab Value="True"/>
<UsageCount Value="10"/>
<UsageCount Value="9"/>
</Unit4>
<Unit5>
<Filename Value="../../../lazarus/lcl/lclproc.pas"/>
@ -91,7 +91,7 @@
<CursorPos X="76" Y="43"/>
<TopLine Value="18"/>
<IsVisibleTab Value="True"/>
<UsageCount Value="10"/>
<UsageCount Value="9"/>
</Unit5>
<Unit6>
<Filename Value="../../../lazarus/lcl/widgetset/wslclclasses.pp"/>
@ -99,7 +99,7 @@
<CursorPos X="61" Y="18"/>
<TopLine Value="1"/>
<IsVisibleTab Value="True"/>
<UsageCount Value="10"/>
<UsageCount Value="9"/>
</Unit6>
<Unit7>
<Filename Value="../../Units/MMLCore/os_linux.pas"/>
@ -108,7 +108,7 @@
<TopLine Value="56"/>
<EditorIndex Value="1"/>
<WindowIndex Value="0"/>
<UsageCount Value="12"/>
<UsageCount Value="15"/>
<Loaded Value="True"/>
</Unit7>
<Unit8>
@ -117,7 +117,7 @@
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
<IsVisibleTab Value="True"/>
<UsageCount Value="10"/>
<UsageCount Value="9"/>
</Unit8>
<Unit9>
<Filename Value="../../../lazarus/lcl/interfaces/nogui/interfaces.pp"/>
@ -125,7 +125,7 @@
<CursorPos X="19" Y="7"/>
<TopLine Value="1"/>
<IsVisibleTab Value="True"/>
<UsageCount Value="10"/>
<UsageCount Value="9"/>
</Unit9>
<Unit10>
<Filename Value="../../../fpc/packages/fcl-base/src/syncobjs.pp"/>
@ -133,7 +133,7 @@
<CursorPos X="1" Y="1"/>
<TopLine Value="146"/>
<IsVisibleTab Value="True"/>
<UsageCount Value="10"/>
<UsageCount Value="9"/>
</Unit10>
<Unit11>
<Filename Value="../../../fpc/rtl/unix/sysutils.pp"/>
@ -141,7 +141,7 @@
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
<IsVisibleTab Value="True"/>
<UsageCount Value="10"/>
<UsageCount Value="9"/>
</Unit11>
<Unit12>
<Filename Value="../../Units/MMLCore/finder.pas"/>
@ -149,7 +149,7 @@
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
<IsVisibleTab Value="True"/>
<UsageCount Value="10"/>
<UsageCount Value="9"/>
</Unit12>
<Unit13>
<Filename Value="../../Units/MMLCore/bitmaps.pas"/>
@ -158,7 +158,7 @@
<TopLine Value="100"/>
<EditorIndex Value="4"/>
<WindowIndex Value="0"/>
<UsageCount Value="12"/>
<UsageCount Value="15"/>
<Loaded Value="True"/>
</Unit13>
<Unit14>
@ -168,7 +168,7 @@
<TopLine Value="23"/>
<EditorIndex Value="2"/>
<WindowIndex Value="0"/>
<UsageCount Value="12"/>
<UsageCount Value="15"/>
<Loaded Value="True"/>
</Unit14>
<Unit15>
@ -177,7 +177,7 @@
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
<IsVisibleTab Value="True"/>
<UsageCount Value="10"/>
<UsageCount Value="9"/>
</Unit15>
<Unit16>
<Filename Value="../../Units/MMLCore/mufasabase.pas"/>
@ -186,7 +186,7 @@
<TopLine Value="1"/>
<EditorIndex Value="6"/>
<WindowIndex Value="0"/>
<UsageCount Value="12"/>
<UsageCount Value="15"/>
<Loaded Value="True"/>
</Unit16>
<Unit17>
@ -195,16 +195,16 @@
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
<IsVisibleTab Value="True"/>
<UsageCount Value="10"/>
<UsageCount Value="9"/>
</Unit17>
<Unit18>
<Filename Value="../../Units/MMLCore/mufasatypes.pas"/>
<UnitName Value="MufasaTypes"/>
<CursorPos X="19" Y="72"/>
<TopLine Value="55"/>
<CursorPos X="61" Y="108"/>
<TopLine Value="306"/>
<EditorIndex Value="7"/>
<WindowIndex Value="0"/>
<UsageCount Value="12"/>
<UsageCount Value="15"/>
<Loaded Value="True"/>
</Unit18>
<Unit19>
@ -213,7 +213,7 @@
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
<IsVisibleTab Value="True"/>
<UsageCount Value="10"/>
<UsageCount Value="9"/>
</Unit19>
<Unit20>
<Filename Value="../../../fpc/packages/x11/src/keysym.pp"/>
@ -221,7 +221,7 @@
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
<IsVisibleTab Value="True"/>
<UsageCount Value="10"/>
<UsageCount Value="9"/>
</Unit20>
<Unit21>
<Filename Value="../../../lazarus/lcl/lcltype.pp"/>
@ -229,7 +229,7 @@
<CursorPos X="1" Y="1"/>
<TopLine Value="34"/>
<IsVisibleTab Value="True"/>
<UsageCount Value="10"/>
<UsageCount Value="9"/>
</Unit21>
<Unit22>
<Filename Value="../../../lazarus/lcl/lclintf.pas"/>
@ -237,7 +237,7 @@
<CursorPos X="1" Y="1"/>
<TopLine Value="34"/>
<IsVisibleTab Value="True"/>
<UsageCount Value="10"/>
<UsageCount Value="9"/>
</Unit22>
<Unit23>
<Filename Value="../../Units/MMLCore/libloader.pas"/>
@ -245,7 +245,7 @@
<CursorPos X="57" Y="48"/>
<TopLine Value="1"/>
<IsVisibleTab Value="True"/>
<UsageCount Value="10"/>
<UsageCount Value="9"/>
</Unit23>
<Unit24>
<Filename Value="../../Units/Linux/xinput.pas"/>
@ -253,7 +253,7 @@
<CursorPos X="71" Y="780"/>
<TopLine Value="763"/>
<IsVisibleTab Value="True"/>
<UsageCount Value="10"/>
<UsageCount Value="9"/>
</Unit24>
<Unit25>
<Filename Value="../../../fpc/packages/x11/src/x.pp"/>
@ -261,7 +261,7 @@
<CursorPos X="1" Y="1"/>
<TopLine Value="387"/>
<IsVisibleTab Value="True"/>
<UsageCount Value="10"/>
<UsageCount Value="9"/>
</Unit25>
<Unit26>
<Filename Value="../../Units/MMLCore/tpa.pas"/>
@ -269,7 +269,7 @@
<CursorPos X="3" Y="206"/>
<TopLine Value="12"/>
<IsVisibleTab Value="True"/>
<UsageCount Value="10"/>
<UsageCount Value="9"/>
</Unit26>
<Unit27>
<Filename Value="../../Units/MMLCore/ocr.pas"/>
@ -277,7 +277,7 @@
<CursorPos X="33" Y="33"/>
<TopLine Value="63"/>
<IsVisibleTab Value="True"/>
<UsageCount Value="10"/>
<UsageCount Value="9"/>
</Unit27>
<Unit28>
<Filename Value="../../../lazarus/lcl/widgetset/wsreferences.pp"/>
@ -285,7 +285,7 @@
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
<IsVisibleTab Value="True"/>
<UsageCount Value="10"/>
<UsageCount Value="9"/>
</Unit28>
<Unit29>
<Filename Value="../../Units/MMLCore/mufasatypesutil.pas"/>
@ -293,7 +293,7 @@
<CursorPos X="1" Y="1"/>
<TopLine Value="41"/>
<IsVisibleTab Value="True"/>
<UsageCount Value="10"/>
<UsageCount Value="9"/>
</Unit29>
<Unit30>
<Filename Value="../../Units/MMLCore/colour_conv.pas"/>
@ -301,7 +301,7 @@
<CursorPos X="6" Y="33"/>
<TopLine Value="1"/>
<IsVisibleTab Value="True"/>
<UsageCount Value="10"/>
<UsageCount Value="9"/>
</Unit30>
<Unit31>
<Filename Value="../../../fpc/rtl/objpas/math.pp"/>
@ -309,7 +309,7 @@
<CursorPos X="1" Y="1"/>
<TopLine Value="23"/>
<IsVisibleTab Value="True"/>
<UsageCount Value="10"/>
<UsageCount Value="9"/>
</Unit31>
<Unit32>
<Filename Value="../../Units/MMLCore/dtm.pas"/>
@ -317,21 +317,29 @@
<CursorPos X="1" Y="1"/>
<TopLine Value="1"/>
<IsVisibleTab Value="True"/>
<UsageCount Value="10"/>
<UsageCount Value="9"/>
</Unit32>
<Unit33>
<Filename Value="../../Units/MMLCore/dtmutil.pas"/>
<UnitName Value="dtmutil"/>
<CursorPos X="18" Y="76"/>
<TopLine Value="1"/>
<IsVisibleTab Value="True"/>
<UsageCount Value="9"/>
</Unit33>
</Units>
<JumpHistory Count="30" HistoryIndex="29">
<Position1>
<Filename Value="libmml.lpr"/>
<Caret Line="10" Column="6" TopLine="6"/>
<Caret Line="7" Column="15" TopLine="1"/>
</Position1>
<Position2>
<Filename Value="libmml.lpr"/>
<Caret Line="6" Column="10" TopLine="1"/>
<Caret Line="24" Column="76" TopLine="1"/>
</Position2>
<Position3>
<Filename Value="libmml.lpr"/>
<Caret Line="7" Column="12" TopLine="1"/>
<Caret Line="7" Column="8" TopLine="1"/>
</Position3>
<Position4>
<Filename Value="libmml.lpr"/>
@ -339,107 +347,107 @@
</Position4>
<Position5>
<Filename Value="libmml.lpr"/>
<Caret Line="7" Column="15" TopLine="1"/>
<Caret Line="6" Column="15" TopLine="1"/>
</Position5>
<Position6>
<Filename Value="libmml.lpr"/>
<Caret Line="24" Column="76" TopLine="1"/>
<Caret Line="31" Column="25" TopLine="1"/>
</Position6>
<Position7>
<Filename Value="libmml.lpr"/>
<Caret Line="7" Column="8" TopLine="1"/>
<Caret Line="30" Column="2" TopLine="4"/>
</Position7>
<Position8>
<Filename Value="libmml.lpr"/>
<Caret Line="12" Column="11" TopLine="1"/>
<Caret Line="6" Column="17" TopLine="1"/>
</Position8>
<Position9>
<Filename Value="libmml.lpr"/>
<Caret Line="6" Column="15" TopLine="1"/>
<Filename Value="../../Units/MMLCore/bitmaps.pas"/>
<Caret Line="30" Column="80" TopLine="12"/>
</Position9>
<Position10>
<Filename Value="libmml.lpr"/>
<Caret Line="31" Column="25" TopLine="1"/>
<Filename Value="../../Units/MMLCore/mufasabase.pas"/>
<Caret Line="1" Column="1" TopLine="1"/>
</Position10>
<Position11>
<Filename Value="libmml.lpr"/>
<Caret Line="30" Column="2" TopLine="4"/>
<Caret Line="6" Column="23" TopLine="1"/>
</Position11>
<Position12>
<Filename Value="libmml.lpr"/>
<Caret Line="6" Column="17" TopLine="1"/>
</Position12>
<Position13>
<Filename Value="../../Units/MMLCore/bitmaps.pas"/>
<Caret Line="30" Column="80" TopLine="12"/>
</Position13>
<Position14>
<Filename Value="../../Units/MMLCore/mufasabase.pas"/>
<Caret Line="1" Column="1" TopLine="1"/>
</Position14>
<Position15>
<Filename Value="libmml.lpr"/>
<Caret Line="6" Column="23" TopLine="1"/>
</Position15>
<Position16>
<Filename Value="../../Units/MMLCore/bitmaps.pas"/>
<Caret Line="122" Column="11" TopLine="105"/>
</Position16>
<Position17>
</Position12>
<Position13>
<Filename Value="../../Units/MMLCore/iomanager.pas"/>
<Caret Line="30" Column="59" TopLine="1"/>
</Position17>
<Position18>
</Position13>
<Position14>
<Filename Value="../../Units/MMLCore/bitmaps.pas"/>
<Caret Line="123" Column="7" TopLine="100"/>
</Position18>
<Position19>
</Position14>
<Position15>
<Filename Value="../../Units/MMLCore/bitmaps.pas"/>
<Caret Line="122" Column="29" TopLine="100"/>
</Position19>
<Position20>
</Position15>
<Position16>
<Filename Value="../../Units/MMLCore/client.pas"/>
<Caret Line="33" Column="40" TopLine="23"/>
</Position16>
<Position17>
<Filename Value="libmml.lpr"/>
<Caret Line="6" Column="18" TopLine="1"/>
</Position17>
<Position18>
<Filename Value="libmml.lpr"/>
<Caret Line="19" Column="19" TopLine="1"/>
</Position18>
<Position19>
<Filename Value="../../Units/MMLCore/os_linux.pas"/>
<Caret Line="85" Column="21" TopLine="68"/>
</Position19>
<Position20>
<Filename Value="../../Units/MMLCore/os_linux.pas"/>
<Caret Line="26" Column="79" TopLine="1"/>
</Position20>
<Position21>
<Filename Value="libmml.lpr"/>
<Caret Line="6" Column="18" TopLine="1"/>
<Caret Line="27" Column="32" TopLine="1"/>
</Position21>
<Position22>
<Filename Value="libmml.lpr"/>
<Caret Line="19" Column="19" TopLine="1"/>
<Caret Line="44" Column="42" TopLine="13"/>
</Position22>
<Position23>
<Filename Value="../../Units/MMLCore/os_linux.pas"/>
<Caret Line="85" Column="21" TopLine="68"/>
<Filename Value="../../Units/MMLCore/client.pas"/>
<Caret Line="79" Column="5" TopLine="52"/>
</Position23>
<Position24>
<Filename Value="../../Units/MMLCore/os_linux.pas"/>
<Caret Line="26" Column="79" TopLine="1"/>
<Filename Value="libmml.lpr"/>
<Caret Line="44" Column="65" TopLine="26"/>
</Position24>
<Position25>
<Filename Value="libmml.lpr"/>
<Caret Line="27" Column="32" TopLine="1"/>
<Caret Line="6" Column="51" TopLine="1"/>
</Position25>
<Position26>
<Filename Value="libmml.lpr"/>
<Caret Line="44" Column="42" TopLine="13"/>
<Caret Line="44" Column="57" TopLine="26"/>
</Position26>
<Position27>
<Filename Value="../../Units/MMLCore/client.pas"/>
<Caret Line="79" Column="5" TopLine="52"/>
<Filename Value="libmml.lpr"/>
<Caret Line="6" Column="69" TopLine="1"/>
</Position27>
<Position28>
<Filename Value="libmml.lpr"/>
<Caret Line="44" Column="65" TopLine="26"/>
<Caret Line="64" Column="10" TopLine="35"/>
</Position28>
<Position29>
<Filename Value="libmml.lpr"/>
<Caret Line="6" Column="51" TopLine="1"/>
<Caret Line="54" Column="4" TopLine="36"/>
</Position29>
<Position30>
<Filename Value="libmml.lpr"/>
<Caret Line="44" Column="57" TopLine="26"/>
<Filename Value="../../Units/MMLCore/mufasatypes.pas"/>
<Caret Line="103" Column="16" TopLine="88"/>
</Position30>
</JumpHistory>
</ProjectOptions>

View File

@ -3,12 +3,13 @@ library libmml;
{$mode objfpc}{$H+}
uses
cmem,Classes,interfaces,graphics,client,sysutils;
cmem,Classes,interfaces,graphics,client,sysutils,MufasaTypes,dtmutil;
{$R *.res}
type
PTPoint = ^TPoint;
PPDTM = ^PDTM;
var
C: TClient;
@ -49,13 +50,24 @@ begin
i := i + 1;
end;
function givedtm:PPDTM;
var
dtm: PPDTM;
begin
dtm := AllocMem(sizeof(pdtm));
initdtm(dtm^,2);
result:=dtm;
dtm^.n := PChar('wat');
end;
exports
test,
init,
getmousepos,
returnpoints,
printpoints,
hoi;
hoi,
givedtm;
begin

View File

@ -37,3 +37,23 @@ e = c_int(5)
dll.hoi(byref(e))
print e
class DTM(Structure):
_fields_ = [('l' , c_int),
('p' , PPOINT),
('c' , POINTER(c_int)),
('t' , POINTER(c_int)),
('asz' , POINTER(c_int)),
('ash' , POINTER(c_int)),
('bp' , POINTER(c_int)),
('n' , c_char_p)]
PDTM = POINTER(DTM)
dll.givedtm.restype = PDTM
dll.givedtm.argtypes = None
f = dll.givedtm()
print f
print f.contents.l