]> git.cworth.org Git - apitrace/blobdiff - specs/winapi.py
Describe C++ references accurately.
[apitrace] / specs / winapi.py
index 17256aaec759c7eeabad190e46735ef0503ff1f1..c3acbb6bd0bc2b0505bc5d1292b1ab4366702ad8 100644 (file)
@@ -45,11 +45,11 @@ UINT32 = Alias("UINT32", UInt32)
 INT64 = Alias("INT64", Int64)
 UINT64 = Alias("UINT64", UInt64)
 
-BYTE = Literal("BYTE", "UInt", base=16)
-WORD = Literal("WORD", "UInt", base=16)
-DWORD = Literal("DWORD", "UInt", base=16)
+BYTE = Alias("BYTE", UInt8)
+WORD = Alias("WORD", UInt16)
+DWORD = Alias("DWORD", UInt32)
 
-WCHAR = Literal("WCHAR", "SInt")
+WCHAR = Alias("WCHAR", Short)
 
 BOOL = Alias("BOOL", Bool)
 
@@ -83,20 +83,17 @@ GUID = Struct("GUID", [
     (DWORD, "Data1"),
     (WORD, "Data2"),
     (WORD, "Data3"),
-    (Array(BYTE, "8"), "Data4"),
+    (Array(BYTE, 8), "Data4"),
 ])
 LPGUID = Pointer(GUID)
 
-#REFGUID = Alias("REFGUID", Pointer(GUID))
-REFGUID = Alias("REFGUID", GUID)
+REFGUID = Alias("REFGUID", Reference(GUID))
 
 IID = Alias("IID", GUID)
-#REFIID = Alias("REFIID", Pointer(IID))
-REFIID = Alias("REFIID", IID)
+REFIID = Alias("REFIID", Reference(IID))
 
 CLSID = Alias("CLSID", GUID)
-#REFCLSID = Alias("REFCLSID", Pointer(CLSID))
-REFCLSID = Alias("REFCLSID", CLSID)
+REFCLSID = Alias("REFCLSID", Reference(CLSID))
 
 LUID = Struct("LUID", [
     (DWORD, "LowPart"),
@@ -150,6 +147,30 @@ HMODULE = Opaque("HMODULE")
 
 IUnknown = Interface("IUnknown")
 
+FILETIME = Struct("FILETIME", [
+    (DWORD, "dwLowDateTime"),
+    (DWORD, "dwHighDateTime"),
+])
+
+COLORREF = Alias("COLORREF", DWORD)
+
+LOGFONTW = Struct("LOGFONTW", [
+    (LONG, "lfHeight"),
+    (LONG, "lfWidth"),
+    (LONG, "lfEscapement"),
+    (LONG, "lfOrientation"),
+    (LONG, "lfWeight"),
+    (BYTE, "lfItalic"),
+    (BYTE, "lfUnderline"),
+    (BYTE, "lfStrikeOut"),
+    (BYTE, "lfCharSet"),
+    (BYTE, "lfOutPrecision"),
+    (BYTE, "lfClipPrecision"),
+    (BYTE, "lfQuality"),
+    (BYTE, "lfPitchAndFamily"),
+    (WString, "lfFaceName"),
+])
+
 HRESULT_com = FakeEnum(HRESULT, [
     "S_OK",
     "E_NOINTERFACE",