Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qpixmap_win.cpp File Reference

(5157ce7c59b704bd080908f24c6ccdf7cb585eeb)

#include "qbitmap.h"
#include "qpixmap.h"
#include <private/qpixmap_win_p.h>
#include <qpa/qplatformpixmap.h>
#include "qpixmap_raster_p.h"
#include <qdebug.h>
#include <QScopedArrayPointer>
#include <qt_windows.h>
#include <algorithm>
#include <iterator>
Include dependency graph for qpixmap_win.cpp:

Go to the source code of this file.

Classes

struct  BITMAPINFO_COLORTABLE256
class  DisplayHdc

Enumerations

enum  { Indexed8ColorTableSize = 256 , Indexed8ColorTableSize = 256 }
enum  HBitmapFormat {
  HBitmapNoAlpha , HBitmapPremultipliedAlpha , HBitmapAlpha , HBitmapNoAlpha ,
  HBitmapPremultipliedAlpha , HBitmapAlpha
}
enum  { Indexed8ColorTableSize = 256 , Indexed8ColorTableSize = 256 }
enum  HBitmapFormat {
  HBitmapNoAlpha , HBitmapPremultipliedAlpha , HBitmapAlpha , HBitmapNoAlpha ,
  HBitmapPremultipliedAlpha , HBitmapAlpha
}

Functions

template<typename Int>
static QT_BEGIN_NAMESPACE Int pad4 (Int v)
QDebug operator<< (QDebug d, const BITMAPINFOHEADER &bih)
static void initBitMapInfoHeader (int width, int height, bool topToBottom, DWORD compression, DWORD bitCount, BITMAPINFOHEADER *bih)
template<class BITMAPINFO_T>
static void initBitMapInfo (int width, int height, bool topToBottom, DWORD compression, DWORD bitCount, BITMAPINFO_T *bmi)
static uchargetDiBits (HDC hdc, HBITMAP bitmap, int width, int height, bool topToBottom=true)
static void copyImageDataCreateAlpha (const uchar *data, QImage *target)
static void flipRgb3 (uchar *p, int width, int height)
static RGBQUAD qRgbToRgbQuad (QRgb qrgb)
static QRgb rgbQuadToQRgb (RGBQUAD quad)
static QImage copyImageData (const BITMAPINFOHEADER &header, const RGBQUAD *colorTableIn, const void *data, QImage::Format format)
static HBITMAP qt_createIconMask (QImage bm)
HBITMAP qt_createIconMask (const QBitmap &bitmap)
static QImage::Format format32 (int hbitmapFormat)
HBITMAP qt_imageToWinHBITMAP (const QImage &imageIn, int hbitmapFormat)
HBITMAP qt_pixmapToWinHBITMAP (const QPixmap &p, int hbitmapFormat)
static QImage::Format imageFromWinHBITMAP_Format (const BITMAPINFOHEADER &header, int hbitmapFormat)
static QImage imageFromWinHBITMAP_DibSection (HBITMAP bitmap, int hbitmapFormat)
static QImage imageFromWinHBITMAP_GetDiBits (HBITMAP bitmap, bool forceQuads, int hbitmapFormat)
QImage qt_imageFromWinHBITMAP (HBITMAP bitmap, int hbitmapFormat)
QPixmap qt_pixmapFromWinHBITMAP (HBITMAP bitmap, int hbitmapFormat)
HICON qt_pixmapToWinHICON (const QPixmap &p)
QImage qt_imageFromWinHBITMAP (HDC hdc, HBITMAP bitmap, int w, int h)
static QImage qt_imageFromWinIconHBITMAP (HDC hdc, HBITMAP bitmap, int w, int h)
static bool hasAlpha (const QImage &image)
QPixmap qt_pixmapFromWinHICON (HICON icon)

Enumeration Type Documentation

◆ anonymous enum [1/2]

anonymous enum
Enumerator
Indexed8ColorTableSize 
Indexed8ColorTableSize 

Definition at line 57 of file qpixmap_win.cpp.

◆ anonymous enum [2/2]

anonymous enum
Enumerator
Indexed8ColorTableSize 
Indexed8ColorTableSize 

Definition at line 57 of file qpixmap_win.cpp.

◆ HBitmapFormat [1/2]

Enumerator
HBitmapNoAlpha 
HBitmapPremultipliedAlpha 
HBitmapAlpha 
HBitmapNoAlpha 
HBitmapPremultipliedAlpha 
HBitmapAlpha 

Definition at line 191 of file qpixmap_win.cpp.

◆ HBitmapFormat [2/2]

Enumerator
HBitmapNoAlpha 
HBitmapPremultipliedAlpha 
HBitmapAlpha 
HBitmapNoAlpha 
HBitmapPremultipliedAlpha 
HBitmapAlpha 

Definition at line 191 of file qpixmap_win.cpp.

Function Documentation

◆ copyImageData()

QImage copyImageData ( const BITMAPINFOHEADER & header,
const RGBQUAD * colorTableIn,
const void * data,
QImage::Format format )
static

Definition at line 132 of file qpixmap_win.cpp.

References Indexed8ColorTableSize.

◆ copyImageDataCreateAlpha()

void copyImageDataCreateAlpha ( const uchar * data,
QImage * target )
inlinestatic

Definition at line 86 of file qpixmap_win.cpp.

◆ flipRgb3()

void flipRgb3 ( uchar * p,
int width,
int height )
inlinestatic

Definition at line 107 of file qpixmap_win.cpp.

◆ format32()

QImage::Format format32 ( int hbitmapFormat)
inlinestatic

Definition at line 217 of file qpixmap_win.cpp.

◆ getDiBits()

uchar * getDiBits ( HDC hdc,
HBITMAP bitmap,
int width,
int height,
bool topToBottom = true )
inlinestatic

Definition at line 73 of file qpixmap_win.cpp.

◆ hasAlpha()

bool hasAlpha ( const QImage & image)
inlinestatic

Definition at line 572 of file qpixmap_win.cpp.

◆ imageFromWinHBITMAP_DibSection()

QImage imageFromWinHBITMAP_DibSection ( HBITMAP bitmap,
int hbitmapFormat )
static

Definition at line 399 of file qpixmap_win.cpp.

◆ imageFromWinHBITMAP_Format()

QImage::Format imageFromWinHBITMAP_Format ( const BITMAPINFOHEADER & header,
int hbitmapFormat )
static

Definition at line 373 of file qpixmap_win.cpp.

◆ imageFromWinHBITMAP_GetDiBits()

QImage imageFromWinHBITMAP_GetDiBits ( HBITMAP bitmap,
bool forceQuads,
int hbitmapFormat )
static

Definition at line 420 of file qpixmap_win.cpp.

◆ initBitMapInfo()

template<class BITMAPINFO_T>
void initBitMapInfo ( int width,
int height,
bool topToBottom,
DWORD compression,
DWORD bitCount,
BITMAPINFO_T * bmi )
inlinestatic

Definition at line 65 of file qpixmap_win.cpp.

◆ initBitMapInfoHeader()

void initBitMapInfoHeader ( int width,
int height,
bool topToBottom,
DWORD compression,
DWORD bitCount,
BITMAPINFOHEADER * bih )
inlinestatic

Definition at line 40 of file qpixmap_win.cpp.

◆ operator<<()

QDebug operator<< ( QDebug d,
const BITMAPINFOHEADER & bih )

Definition at line 27 of file qpixmap_win.cpp.

◆ pad4()

template<typename Int>
QT_BEGIN_NAMESPACE Int pad4 ( Int v)
inlinestatic

Definition at line 21 of file qpixmap_win.cpp.

◆ qRgbToRgbQuad()

RGBQUAD qRgbToRgbQuad ( QRgb qrgb)
inlinestatic

Definition at line 119 of file qpixmap_win.cpp.

◆ qt_createIconMask() [1/2]

HBITMAP qt_createIconMask ( const QBitmap & bitmap)

Definition at line 212 of file qpixmap_win.cpp.

◆ qt_createIconMask() [2/2]

HBITMAP qt_createIconMask ( QImage bm)
static

Definition at line 198 of file qpixmap_win.cpp.

◆ qt_imageFromWinHBITMAP() [1/2]

QImage qt_imageFromWinHBITMAP ( HBITMAP bitmap,
int hbitmapFormat )

Definition at line 456 of file qpixmap_win.cpp.

◆ qt_imageFromWinHBITMAP() [2/2]

QImage qt_imageFromWinHBITMAP ( HDC hdc,
HBITMAP bitmap,
int w,
int h )

Definition at line 548 of file qpixmap_win.cpp.

◆ qt_imageFromWinIconHBITMAP()

QImage qt_imageFromWinIconHBITMAP ( HDC hdc,
HBITMAP bitmap,
int w,
int h )
static

Definition at line 560 of file qpixmap_win.cpp.

◆ qt_imageToWinHBITMAP()

HBITMAP qt_imageToWinHBITMAP ( const QImage & imageIn,
int hbitmapFormat )

Definition at line 230 of file qpixmap_win.cpp.

◆ qt_pixmapFromWinHBITMAP()

QPixmap qt_pixmapFromWinHBITMAP ( HBITMAP bitmap,
int hbitmapFormat )

Definition at line 488 of file qpixmap_win.cpp.

◆ qt_pixmapFromWinHICON()

Q_GUI_EXPORT QPixmap qt_pixmapFromWinHICON ( HICON icon)

Definition at line 648 of file qpixmap_win.cpp.

◆ qt_pixmapToWinHBITMAP()

HBITMAP qt_pixmapToWinHBITMAP ( const QPixmap & p,
int hbitmapFormat )

Definition at line 357 of file qpixmap_win.cpp.

◆ qt_pixmapToWinHICON()

Q_GUI_EXPORT HICON qt_pixmapToWinHICON ( const QPixmap & p)

Definition at line 539 of file qpixmap_win.cpp.

◆ rgbQuadToQRgb()

QRgb rgbQuadToQRgb ( RGBQUAD quad)
inlinestatic

Definition at line 125 of file qpixmap_win.cpp.