Qt
Internal/Contributor docs for the Qt SDK. <b>Note:</b> These are NOT official API docs; those are found <a href='https://doc.qt.io/'>here</a>.
Loading...
Searching...
No Matches
qwindowsdirect2dpaintengine.cpp File Reference

(aa37e67ef7f5ff22da0ef95fb5221bc1fff9b3ca)

#include "qwindowsdirect2dpaintengine.h"
#include "qwindowsdirect2dplatformpixmap.h"
#include "qwindowsdirect2dpaintdevice.h"
#include "qwindowsdirect2dcontext.h"
#include "qwindowsdirect2dhelpers.h"
#include "qwindowsdirect2dbitmap.h"
#include "qwindowsdirect2ddevicecontext.h"
#include <QtGui/private/qwindowsfontdatabase_p.h>
#include "qwindowsintegration.h"
#include <QtCore/qmath.h>
#include <QtCore/qstack.h>
#include <QtCore/qsettings.h>
#include <QtGui/private/qpaintengine_p.h>
#include <QtGui/private/qtextengine_p.h>
#include <QtGui/private/qfontengine_p.h>
#include <QtGui/private/qstatictext_p.h>
#include <d2d1_1.h>
#include <dwrite_1.h>
#include <wrl.h>
+ Include dependency graph for qwindowsdirect2dpaintengine.cpp:

Go to the source code of this file.

Classes

class  Direct2DPathGeometryWriter
 
struct  D2DVectorPathCache
 
class  QWindowsDirect2DPaintEnginePrivate
 
class  QWindowsDirect2DPaintEngineSuspenderImpl
 
class  QWindowsDirect2DPaintEngineSuspenderPrivate
 

Macros

#define D2D_TAG(tag)   d->dc()->SetTags(tag, tag)
 

Enumerations

enum  {
  D2DDebugDrawInitialStateTag = -1 , D2DDebugFillTag = 1 , D2DDebugFillRectTag , D2DDebugDrawRectsTag ,
  D2DDebugDrawRectFsTag , D2DDebugDrawEllipseTag , D2DDebugDrawEllipseFTag , D2DDebugDrawImageTag ,
  D2DDebugDrawPixmapTag , D2DDebugDrawStaticTextItemTag , D2DDebugDrawTextItemTag
}
 
enum  : unsigned { SimpleSystemClip = 0x1 }
 
enum  ClipType { AxisAlignedClip , LayerClip }
 

Functions

Q_GUI_EXPORT QImage qt_imageForBrush (int brushStyle, bool invert)
 
static ID2D1Factory1 * factory ()
 
static D2D1_MATRIX_3X2_F transformFromLine (const QLineF &line, qreal penWidth, qreal dashOffset)
 
static void adjustLine (QPointF *p1, QPointF *p2)
 
static bool isLinePositivelySloped (const QPointF &p1, const QPointF &p2)
 
static QList< D2D1_GRADIENT_STOP > qGradientStopsToD2DStops (const QGradientStops &qstops)
 

Variables

static const qreal MAGICAL_ALIASING_OFFSET = 0.5
 

Macro Definition Documentation

◆ D2D_TAG

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
D2DDebugDrawInitialStateTag 
D2DDebugFillTag 
D2DDebugFillRectTag 
D2DDebugDrawRectsTag 
D2DDebugDrawRectFsTag 
D2DDebugDrawEllipseTag 
D2DDebugDrawEllipseFTag 
D2DDebugDrawImageTag 
D2DDebugDrawPixmapTag 
D2DDebugDrawStaticTextItemTag 
D2DDebugDrawTextItemTag 

Definition at line 38 of file qwindowsdirect2dpaintengine.cpp.

◆ anonymous enum

anonymous enum : unsigned
Enumerator
SimpleSystemClip 

Definition at line 53 of file qwindowsdirect2dpaintengine.cpp.

◆ ClipType

enum ClipType
Enumerator
AxisAlignedClip 
LayerClip 

Definition at line 57 of file qwindowsdirect2dpaintengine.cpp.

Function Documentation

◆ adjustLine()

static void adjustLine ( QPointF * p1,
QPointF * p2 )
static

Definition at line 1338 of file qwindowsdirect2dpaintengine.cpp.

References isLinePositivelySloped(), p1, and p2.

Referenced by QWindowsDirect2DPaintEnginePrivate::stroke().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ factory()

static ID2D1Factory1 * factory ( )
inlinestatic

Definition at line 71 of file qwindowsdirect2dpaintengine.cpp.

References QWindowsDirect2DContext::instance().

Referenced by Direct2DPathGeometryWriter::begin(), and QWindowsDirect2DPaintEnginePrivate::updatePen().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ isLinePositivelySloped()

static bool isLinePositivelySloped ( const QPointF & p1,
const QPointF & p2 )
static

Definition at line 1327 of file qwindowsdirect2dpaintengine.cpp.

References p1, and p2.

Referenced by adjustLine(), and Direct2DPathGeometryWriter::lineTo().

+ Here is the caller graph for this function:

◆ qGradientStopsToD2DStops()

static QList< D2D1_GRADIENT_STOP > qGradientStopsToD2DStops ( const QGradientStops & qstops)
static

Definition at line 91 of file qwindowsdirect2dpaintengine.cpp.

References i, and to_d2d_color_f().

Referenced by QWindowsDirect2DPaintEnginePrivate::to_d2d_brush().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ qt_imageForBrush()

Q_GUI_EXPORT QImage qt_imageForBrush ( int brushStyle,
bool invert )

Definition at line 146 of file qbrush.cpp.

Referenced by QWindowsDirect2DPaintEnginePrivate::to_d2d_brush().

+ Here is the caller graph for this function:

◆ transformFromLine()

static D2D1_MATRIX_3X2_F transformFromLine ( const QLineF & line,
qreal penWidth,
qreal dashOffset )
inlinestatic

Definition at line 76 of file qwindowsdirect2dpaintengine.cpp.

References QTransform::fromTranslate(), line, qCos(), qDegreesToRadians(), qSin(), and to_d2d_matrix_3x2_f().

Referenced by QWindowsDirect2DPaintEnginePrivate::stroke().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Variable Documentation

◆ MAGICAL_ALIASING_OFFSET

const qreal MAGICAL_ALIASING_OFFSET = 0.5
static

Definition at line 65 of file qwindowsdirect2dpaintengine.cpp.