]> gitweb.factorcode.org Git - factor.git/commitdiff
windows: Attempt to fix circularity.
authorDoug Coleman <doug.coleman@gmail.com>
Thu, 25 Oct 2012 02:02:59 +0000 (19:02 -0700)
committerDoug Coleman <doug.coleman@gmail.com>
Thu, 25 Oct 2012 02:03:25 +0000 (19:03 -0700)
basis/io/files/info/windows/windows.factor
basis/ui/backend/windows/windows.factor
basis/windows/shell32/shell32.factor
basis/windows/windows.factor

index 9bf987c93bc2aad44514ebfb4ff99cd23d6bf026..82810296c020033e40771d23c49e136bc3603a4c 100755 (executable)
@@ -96,6 +96,31 @@ M: windows file-info ( path -- info )
 M: windows link-info ( path -- info )
     file-info ;
 
+: file-executable-type ( path -- executable/f )
+    normalize-path dup
+    0
+    f
+    ! hi is zero means old style executable
+    0 SHGFI_EXETYPE SHGetFileInfoW
+    [
+        file-info drop f
+    ] [
+        nip >lo-hi first2 zero? [
+            {
+                { 0x5A4D [ +dos-executable+ ] }
+                { 0x4550 [ +win32-console-executable+ ] }
+                [ drop f ]
+            } case
+        ] [
+            {
+                { 0x454C [ +win32-vxd-executable+ ] }
+                { 0x454E [ +win32-os2-executable+ ] }
+                { 0x4550 [ +win32-nt-executable+ ] }
+                [ drop f ]
+            } case
+        ] if
+    ] if-zero ;
+
 CONSTANT: path-length $[ MAX_PATH 1 + ]
 
 : volume-information ( normalized-path -- volume-name volume-serial max-component flags type )
index edc52fe90889a980b66730bd930cb626d1baef20..c52eb0aa762745155d4b099d8f40028b8522d05d 100755 (executable)
@@ -169,9 +169,6 @@ M: windows-ui-backend (pixel-format-attribute)
 
 PRIVATE>
 
-: lo-word ( wparam -- lo ) c:short <ref> c:short deref ; inline
-: hi-word ( wparam -- hi ) -16 shift lo-word ; inline
-: >lo-hi ( WORD -- array ) [ lo-word ] [ hi-word ] bi 2array ; inline
 : GET_APPCOMMAND_LPARAM ( lParam -- appCommand )
     hi-word FAPPCOMMAND_MASK lo-word bitnot bitand ; inline
 
index 68ec7359790c85c03f004fb50b252ec010c38e85..45789e9686d6baea89b2233fb2f03cd04ca67368 100644 (file)
@@ -5,7 +5,7 @@ alien.syntax classes.struct combinators io.backend io.files
 io.pathnames kernel math sequences specialized-arrays
 ui.backend.windows windows windows.com windows.com.syntax
 windows.errors windows.kernel32 windows.ole32 windows.types
-windows.user32 io.files.info ;
+windows.user32 ;
 SPECIALIZED-ARRAY: ushort
 IN: windows.shell32
 
@@ -142,31 +142,6 @@ INSTANCE: +win32-vxd-executable+ windows-executable  ! le
 INSTANCE: +win32-os2-executable+ windows-executable  ! ne
 INSTANCE: +win32-nt-executable+ windows-executable   ! pe
 
-: file-executable-type ( path -- executable/f )
-    normalize-path dup
-    0
-    f
-    ! hi is zero means old style executable
-    0 SHGFI_EXETYPE SHGetFileInfoW
-    [
-        file-info drop f
-    ] [
-        nip >lo-hi first2 zero? [
-            {
-                { 0x5A4D [ +dos-executable+ ] }
-                { 0x4550 [ +win32-console-executable+ ] }
-                [ drop f ]
-            } case
-        ] [
-            {
-                { 0x454C [ +win32-vxd-executable+ ] }
-                { 0x454E [ +win32-os2-executable+ ] }
-                { 0x4550 [ +win32-nt-executable+ ] }
-                [ drop f ]
-            } case
-        ] if
-    ] if-zero ;
-
 : shell32-directory ( n -- str )
     f swap f SHGFP_TYPE_DEFAULT
     MAX_UNICODE_PATH ushort <c-array>
index 9a91a6fe20415211cbd4b95bd9259edbdea4a66d..758238d70b20c12eb8b4caa35993da0ecc4d8667 100644 (file)
@@ -1,6 +1,8 @@
 ! Copyright (C) 2005, 2006 Doug Coleman.
 ! See http://factorcode.org/license.txt for BSD license.
-USING: alien sequences alien.libraries ;
+USING: alien alien.data alien.libraries arrays kernel math
+sequences ;
+QUALIFIED-WITH: alien.c-types c
 IN: windows
 
 CONSTANT: MAX_UNICODE_PATH 32768
@@ -23,3 +25,7 @@ CONSTANT: MAX_UNICODE_PATH 32768
     { "usp10"       "usp10.dll"          stdcall }
     { "psapi"       "psapi.dll"          stdcall }
 } [ first3 add-library ] each
+
+: lo-word ( wparam -- lo ) c:short <ref> c:short deref ; inline
+: hi-word ( wparam -- hi ) -16 shift lo-word ; inline
+: >lo-hi ( WORD -- array ) [ lo-word ] [ hi-word ] bi 2array ; inline