summaryrefslogtreecommitdiffstats
path: root/PySide/QtCore/typesystem_core_win.xml
blob: f4b8cab24f7d8771b4e47313d12058669ce69c6f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
<?xml version="1.0"?>
<!--
    This file is part of PySide project.
    Copyright (C) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
    Contact: PySide team <contact@pyside.org>

    This library is free software; you can redistribute it and/or
    modify it under the terms of the GNU Lesser General Public
    License as published by the Free Software Foundation; either
    version 2.1 of the License, or (at your option) any later version.

    This library is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    Lesser General Public License for more details.

    You should have received a copy of the GNU Lesser General Public
    License along with this library; if not, write to the Free Software
    Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
-->
<typesystem package="PySide.QtCore">
  <primitive-type name="Qt::HANDLE" target-lang-api-name="PyObject" />
  <primitive-type name="HWND">
      <conversion-rule file="glue/hwnd_conversions.h">
        <native-to-target>
        #ifdef IS_PY3K
        return PyCapsule_New(%in, 0, 0);
        #else
        return PyCObject_FromVoidPtr(%in, 0);
        #endif
        </native-to-target>
        <target-to-native>
            <add-conversion type="PyNone">
            %out = 0;
            </add-conversion>
            <add-conversion check="checkPyCapsuleOrPyCObject(%in)" type="PyObject">
            #ifdef IS_PY3K
            %out = (%OUTTYPE)PyCapsule_GetPointer(%in, 0);
            #else
            %out = (%OUTTYPE)PyCObject_AsVoidPtr(%in);
            #endif
            </add-conversion>
        </target-to-native>
      </conversion-rule>
  </primitive-type>
  <inject-code class="native" position="beginning">
    <insert-template name="checkPyCapsuleOrPyCObject_func"/>
  </inject-code>
  <value-type name="POINT">
      <include file-name="wtypes.h" location="global"/>
  </value-type>
  <value-type name="MSG">
      <include file-name="wtypes.h" location="global"/>
  </value-type>
  <suppress-warning text="class 'MSG' inherits from unknown base class 'tagMSG'"/>
  <suppress-warning text="class not found for setup inheritance 'tagMSG'"/>
</typesystem>