]> git.cworth.org Git - apitrace/commitdiff
d2d: Make it actually work.
authorJosé Fonseca <jose.r.fonseca@gmail.com>
Tue, 13 Nov 2012 19:53:47 +0000 (19:53 +0000)
committerJosé Fonseca <jose.r.fonseca@gmail.com>
Tue, 13 Nov 2012 19:53:47 +0000 (19:53 +0000)
gui/imageviewer.cpp
specs/d2d1.py
specs/dwrite.py
wrappers/CMakeLists.txt
wrappers/d2d1.def
wrappers/dwritetrace.cpp [new file with mode: 0644]

index 0e0657a3d60e265cd5d20c85815e69f881933e21..1a1fe5aeec63656421a7ab3027a182f2a5fa787f 100644 (file)
@@ -130,7 +130,7 @@ QSize ImageViewer::sizeHint() const
                             m_image.height() + hScrollHeight);
 
     QRect screenRect = QApplication::desktop()->availableGeometry();
-    const float maxPercentOfDesktopSpace = 0.8;
+    const float maxPercentOfDesktopSpace = 0.8f;
     QSize maxAvailableSize(maxPercentOfDesktopSpace * screenRect.width(),
                            maxPercentOfDesktopSpace * screenRect.height());
 
index a26b4a6a5c8f07e1a211d5be61cfd4081d62d79c..e532e4688a70122b3027210934c7c5b59881c064 100644 (file)
@@ -631,5 +631,5 @@ d2d1.addFunctions([
     StdFunction(Void, "D2D1MakeRotateMatrix", [(FLOAT, "angle"), (D2D1_POINT_2F, "center"), Out(Pointer(D2D1_MATRIX_3X2_F), "matrix")]),
     StdFunction(Void, "D2D1MakeSkewMatrix", [(FLOAT, "angleX"), (FLOAT, "angleY"), (D2D1_POINT_2F, "center"), Out(Pointer(D2D1_MATRIX_3X2_F), "matrix")]),
     StdFunction(BOOL, "D2D1IsMatrixInvertible", [(Pointer(Const(D2D1_MATRIX_3X2_F)), "matrix")]),
-    StdFunction(BOOL, "D2D1InvertMatrix", [Out(Pointer(D2D1_MATRIX_3X2_F), "matrix")]),
+    StdFunction(BOOL, "D2D1InvertMatrix", [InOut(Pointer(D2D1_MATRIX_3X2_F), "matrix")]),
 ])
index 916cae3e068949ed3ed3a9ca0fbadcef84720c74..1a8aae0ebaf788ae86d47ce6de78067b701ff03a 100644 (file)
@@ -454,7 +454,7 @@ IDWriteTextFormat.methods += [
     StdMethod(HRESULT, "SetReadingDirection", [(DWRITE_READING_DIRECTION, "readingDirection")]),
     StdMethod(HRESULT, "SetFlowDirection", [(DWRITE_FLOW_DIRECTION, "flowDirection")]),
     StdMethod(HRESULT, "SetIncrementalTabStop", [(FLOAT, "incrementalTabStop")]),
-    StdMethod(HRESULT, "SetTrimming", [(Pointer(Const(DWRITE_TRIMMING)), "trimmingOptions"), (ObjPointer(IDWriteInlineObject), "trimmingSign")]),
+    StdMethod(HRESULT, "SetTrimming", [(Pointer(Const(DWRITE_TRIMMING)), "trimmingOptions"), (OpaquePointer(IDWriteInlineObject), "trimmingSign")]),
     StdMethod(HRESULT, "SetLineSpacing", [(DWRITE_LINE_SPACING_METHOD, "lineSpacingMethod"), (FLOAT, "lineSpacing"), (FLOAT, "baseline")]),
     StdMethod(DWRITE_TEXT_ALIGNMENT, "GetTextAlignment", []),
     StdMethod(DWRITE_PARAGRAPH_ALIGNMENT, "GetParagraphAlignment", []),
@@ -462,7 +462,7 @@ IDWriteTextFormat.methods += [
     StdMethod(DWRITE_READING_DIRECTION, "GetReadingDirection", []),
     StdMethod(DWRITE_FLOW_DIRECTION, "GetFlowDirection", []),
     StdMethod(FLOAT, "GetIncrementalTabStop", []),
-    StdMethod(HRESULT, "GetTrimming", [Out(Pointer(DWRITE_TRIMMING), "trimmingOptions"), Out(Pointer(ObjPointer(IDWriteInlineObject)), "trimmingSign")]),
+    StdMethod(HRESULT, "GetTrimming", [Out(Pointer(DWRITE_TRIMMING), "trimmingOptions"), Out(Pointer(OpaquePointer(IDWriteInlineObject)), "trimmingSign")]),
     StdMethod(HRESULT, "GetLineSpacing", [Out(Pointer(DWRITE_LINE_SPACING_METHOD), "lineSpacingMethod"), Out(Pointer(FLOAT), "lineSpacing"), Out(Pointer(FLOAT), "baseline")]),
     StdMethod(HRESULT, "GetFontCollection", [Out(Pointer(ObjPointer(IDWriteFontCollection)), "fontCollection")]),
     StdMethod(UINT32, "GetFontFamilyNameLength", []),
@@ -654,7 +654,7 @@ DWRITE_HIT_TEST_METRICS = Struct("DWRITE_HIT_TEST_METRICS", [
 ])
 
 IDWriteInlineObject.methods += [
-    StdMethod(HRESULT, "Draw", [(OpaquePointer(Void), "clientDrawingContext"), (ObjPointer(IDWriteTextRenderer), "renderer"), (FLOAT, "originX"), (FLOAT, "originY"), (BOOL, "isSideways"), (BOOL, "isRightToLeft"), (ObjPointer(IUnknown), "clientDrawingEffect")]),
+    StdMethod(HRESULT, "Draw", [(OpaquePointer(Void), "clientDrawingContext"), (OpaquePointer(IDWriteTextRenderer), "renderer"), (FLOAT, "originX"), (FLOAT, "originY"), (BOOL, "isSideways"), (BOOL, "isRightToLeft"), (ObjPointer(IUnknown), "clientDrawingEffect")]),
     StdMethod(HRESULT, "GetMetrics", [Out(Pointer(DWRITE_INLINE_OBJECT_METRICS), "metrics")]),
     StdMethod(HRESULT, "GetOverhangMetrics", [Out(Pointer(DWRITE_OVERHANG_METRICS), "overhangs")]),
     StdMethod(HRESULT, "GetBreakConditions", [Out(Pointer(DWRITE_BREAK_CONDITION), "breakConditionBefore"), Out(Pointer(DWRITE_BREAK_CONDITION), "breakConditionAfter")]),
@@ -704,7 +704,7 @@ IDWriteTextLayout.methods += [
     StdMethod(HRESULT, "GetTypography", [(UINT32, "currentPosition"), Out(Pointer(ObjPointer(IDWriteTypography)), "typography"), Out(Pointer(DWRITE_TEXT_RANGE), "textRange")]),
     StdMethod(HRESULT, "GetLocaleNameLength", [(UINT32, "currentPosition"), Out(Pointer(UINT32), "nameLength"), Out(Pointer(DWRITE_TEXT_RANGE), "textRange")]),
     StdMethod(HRESULT, "GetLocaleName", [(UINT32, "currentPosition"), Out(Pointer(WCHAR), "localeName"), (UINT32, "nameSize"), Out(Pointer(DWRITE_TEXT_RANGE), "textRange")]),
-    StdMethod(HRESULT, "Draw", [(OpaquePointer(Void), "clientDrawingContext"), (ObjPointer(IDWriteTextRenderer), "renderer"), (FLOAT, "originX"), (FLOAT, "originY")]),
+    StdMethod(HRESULT, "Draw", [(OpaquePointer(Void), "clientDrawingContext"), (OpaquePointer(IDWriteTextRenderer), "renderer"), (FLOAT, "originX"), (FLOAT, "originY")]),
     StdMethod(HRESULT, "GetLineMetrics", [Out(Pointer(DWRITE_LINE_METRICS), "lineMetrics"), (UINT32, "maxLineCount"), Out(Pointer(UINT32), "actualLineCount")]),
     StdMethod(HRESULT, "GetMetrics", [Out(Pointer(DWRITE_TEXT_METRICS), "textMetrics")]),
     StdMethod(HRESULT, "GetOverhangMetrics", [Out(Pointer(DWRITE_OVERHANG_METRICS), "overhangs")]),
index 69d65869f5725e6002abe3c4f44b77a6c07b03bf..20296cece17fbec5fec159933f04bd5bbbe04ddd 100644 (file)
@@ -18,6 +18,8 @@ set_target_properties (common_trace PROPERTIES
     COMPILE_FLAGS "${CMAKE_SHARED_LIBRARY_CXX_FLAGS}"
 )
 
+set (CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
+
 if (WIN32)
     if (MINGW)
         # Silence warnings about @nn suffix mismatch
@@ -268,31 +270,31 @@ if (WIN32)
                 ${CMAKE_SOURCE_DIR}/specs/winapi.py
                 ${CMAKE_SOURCE_DIR}/specs/stdapi.py
         )
-        add_library (d2d1 SHARED d2d1.def d2d1trace.cpp)
-        target_link_libraries (d2d1
+        add_library (d2d1trace SHARED d2d1.def d2d1trace.cpp)
+        target_link_libraries (d2d1trace
             common_trace
             common
             ${ZLIB_LIBRARIES}
             ${SNAPPY_LIBRARIES}
         )
-        set_target_properties (d2d1
+        set_target_properties (d2d1trace
             PROPERTIES PREFIX ""
             OUTPUT_NAME d2d1
         )
         # http://www.cmake.org/pipermail/cmake/2009-March/028221.html
-        install (TARGETS d2d1
+        install (TARGETS d2d1trace
             RUNTIME DESTINATION ${WRAPPER_INSTALL_DIR} COMPONENT RUNTIME
             LIBRARY DESTINATION ${WRAPPER_INSTALL_DIR} COMPONENT RUNTIME
         )
 
         # dwrite.dll is just an empty stub for d2d1.dll
-        add_library (dwrite MODULE dwrite.def)
-        target_link_libraries (dwrite d2d1)
-        set_target_properties (dwrite
+        add_library (dwritetrace MODULE dwrite.def dwritetrace.cpp)
+        target_link_libraries (dwritetrace d2d1trace)
+        set_target_properties (dwritetrace
             PROPERTIES PREFIX ""
             OUTPUT_NAME dwrite
         )
-        install (TARGETS dwrite LIBRARY DESTINATION ${WRAPPER_INSTALL_DIR})
+        install (TARGETS dwritetrace LIBRARY DESTINATION ${WRAPPER_INSTALL_DIR})
     endif (DirectX_D2D1_INCLUDE_DIR)
 
     # opengl32.dll
index da9a8137b1a5599af7462a396513d522cf556f7d..1f7f8f12f7637b32b8984c327a7ae3dd6fa6482f 100644 (file)
@@ -1,10 +1,10 @@
 LIBRARY "d2d1"
 
 EXPORTS
-       D2D1CreateFactory
-       D2D1InvertMatrix
-       D2D1IsMatrixInvertible
-       D2D1MakeRotateMatrix
-       D2D1MakeSkewMatrix
+       D2D1CreateFactory @1
+       D2D1MakeRotateMatrix @2
+       D2D1MakeSkewMatrix @3
+       D2D1IsMatrixInvertible @4
+       D2D1InvertMatrix @5
 
        DWriteCreateFactory
diff --git a/wrappers/dwritetrace.cpp b/wrappers/dwritetrace.cpp
new file mode 100644 (file)
index 0000000..9ca69d6
--- /dev/null
@@ -0,0 +1,6 @@
+#include <windows.h>
+
+EXTERN_C BOOL WINAPI
+DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) {
+    return TRUE;
+}