]> gitweb.factorcode.org Git - factor.git/commitdiff
update windows.ole32 structs (*)
authorJoe Groff <arcata@gmail.com>
Fri, 18 Sep 2009 23:57:36 +0000 (18:57 -0500)
committerJoe Groff <arcata@gmail.com>
Fri, 18 Sep 2009 23:57:36 +0000 (18:57 -0500)
basis/windows/dragdrop-listener/dragdrop-listener.factor
basis/windows/ole32/ole32.factor

index bb8e60cdf5b152db476ddc1f1d499730cd6beb24..3ed2256c7d911a2fe1664fb1717f726017b8f880 100755 (executable)
@@ -2,7 +2,7 @@ USING: alien.strings io.encodings.utf16n windows.com
 windows.com.wrapper combinators windows.kernel32 windows.ole32\r
 windows.shell32 kernel accessors windows.types\r
 prettyprint namespaces ui.tools.listener ui.tools.workspace\r
-alien.data alien sequences math ;\r
+alien.data alien sequences math classes.struct ;\r
 SPECIALIZED-ARRAY: WCHAR\r
 IN: windows.dragdrop-listener\r
 \r
@@ -16,15 +16,15 @@ IN: windows.dragdrop-listener
     ] with map ;\r
 \r
 : filenames-from-data-object ( data-object -- filenames )\r
-    "FORMATETC" <c-object>\r
-        CF_HDROP         over set-FORMATETC-cfFormat\r
-        f                over set-FORMATETC-ptd\r
-        DVASPECT_CONTENT over set-FORMATETC-dwAspect\r
-        -1               over set-FORMATETC-lindex\r
-        TYMED_HGLOBAL    over set-FORMATETC-tymed\r
-    "STGMEDIUM" <c-object>\r
+    FORMATETC <struct>\r
+        CF_HDROP         >>cfFormat\r
+        f                >>ptd\r
+        DVASPECT_CONTENT >>dwAspect\r
+        -1               >>lindex\r
+        TYMED_HGLOBAL    >>tymed\r
+    STGMEDIUM <struct>\r
     [ IDataObject::GetData ] keep swap succeeded? [\r
-        dup STGMEDIUM-data\r
+        dup data>>\r
         [ filenames-from-hdrop ] with-global-lock\r
         swap ReleaseStgMedium\r
     ] [ drop f ] if ;\r
index fe47a7f9231418c1addafe2aea0440891c5b927a..3bc7f459600425c849cd028018690c1f1ec3952f 100755 (executable)
@@ -78,29 +78,29 @@ CONSTANT: TYMED_MFPICT   32
 CONSTANT: TYMED_ENHMF    64
 CONSTANT: TYMED_NULL     0
 
-C-STRUCT: DVTARGETDEVICE
-    { "DWORD" "tdSize" }
-    { "WORD" "tdDriverNameOffset" }
-    { "WORD" "tdDeviceNameOffset" }
-    { "WORD" "tdPortNameOffset" }
-    { "WORD" "tdExtDevmodeOffset" }
-    { "BYTE[1]" "tdData" } ;
+STRUCT: DVTARGETDEVICE
+    { tdSize DWORD }
+    { tdDriverNameOffset WORD }
+    { tdDeviceNameOffset WORD }
+    { tdPortNameOffset WORD }
+    { tdExtDevmodeOffset WORD }
+    { tdData BYTE[1] } ;
 
 TYPEDEF: WORD CLIPFORMAT
 TYPEDEF: POINT POINTL
 
-C-STRUCT: FORMATETC
-    { "CLIPFORMAT" "cfFormat" }
-    { "DVTARGETDEVICE*" "ptd" }
-    { "DWORD" "dwAspect" }
-    { "LONG" "lindex" }
-    { "DWORD" "tymed" } ;
+STRUCT: FORMATETC
+    { cfFormat CLIPFORMAT }
+    { ptd DVTARGETDEVICE* }
+    { dwAspect DWORD }
+    { lindex LONG }
+    { tymed DWORD } ;
 TYPEDEF: FORMATETC* LPFORMATETC
 
-C-STRUCT: STGMEDIUM
-    { "DWORD" "tymed" }
-    { "void*" "data" }
-    { "LPUNKNOWN" "punkForRelease" } ;
+STRUCT: STGMEDIUM
+    { tymed DWORD }
+    { data void* }
+    { punkForRelease LPUNKNOWN } ;
 TYPEDEF: STGMEDIUM* LPSTGMEDIUM
 
 CONSTANT: COINIT_MULTITHREADED     0