File: qwt3d_portability.h

package info (click to toggle)
qwtplot3d 0.2.7%2Bsvn191%2Bgcc7-3
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, bullseye, buster, sid, trixie
  • size: 1,360 kB
  • sloc: cpp: 8,913; ansic: 5,078; python: 95; makefile: 28; sh: 1
file content (91 lines) | stat: -rw-r--r-- 1,853 bytes parent folder | download | duplicates (12)
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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
#ifndef qwt3d_portability_h__2005_07_02_11_55_begin_guarded_code
#define qwt3d_portability_h__2005_07_02_11_55_begin_guarded_code

//! Portability classes providing transparent Qt3/4 support

#include <qnamespace.h>
#include "qwt3d_global.h"

#if QT_VERSION < 0x040000

namespace Qwt3D
{
  #define QWT3DLOCAL8BIT(qstring) \
  ((const char*)(qstring.local8Bit()))

  typedef int MouseState;
  typedef int KeyboardState;
  const Qt::TextFlags SingleLine = Qt::SingleLine;
} // ns


#else // Qt4

#include <QMouseEvent>

namespace Qwt3D
{

  #define QWT3DLOCAL8BIT(qstring) \
  ((const char*)(qstring.toLocal8Bit()))
  
  const Qt::TextFlag SingleLine = Qt::TextSingleLine;
  
  //! This class creates a (mouse-button,modifier) pair (ordinary typedef for int if Qt3 is used)
  class MouseState
  {
  public:
    MouseState(Qt::MouseButtons mb = Qt::NoButton, Qt::KeyboardModifiers km = Qt::NoModifier)
      : mb_(mb), km_(km)
    {
    }

    MouseState(Qt::MouseButton mb, Qt::KeyboardModifiers km = Qt::NoModifier)
      : mb_(mb), km_(km)
    {
    }

    bool operator==(const MouseState& ms)
    {
      return mb_ == ms.mb_ && km_ == ms.km_;
    }

    bool operator!=(const MouseState& ms)
    {
      return !operator==(ms);
    }

  private:
    Qt::MouseButtons mb_;
    Qt::KeyboardModifiers km_;
  };
  
  //! This class creates a (key-button,modifier) pair (ordinary typedef for int if Qt3 is used)
  class KeyboardState
  {
  public:
    KeyboardState(int key = Qt::Key_unknown, Qt::KeyboardModifiers km = Qt::NoModifier)
      : key_(key), km_(km)
    {
    }

    bool operator==(const KeyboardState& ms)
    {
      return key_ == ms.key_ && km_ == ms.km_;
    }

    bool operator!=(const KeyboardState& ms)
    {
      return !operator==(ms);
    }

  private:
    int key_;
    Qt::KeyboardModifiers km_;
  };
} // ns

#endif


#endif