⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pximage.h

📁 linux下的一款播放器
💻 H
📖 第 1 页 / 共 2 页
字号:
    ~PXImageIteratorBTRL() {};    PXImageIterator& operator ++ ();};inline PXImageIterator::PXImageIterator(PXImage* pImg, INT32 lX, INT32 lY){    HX_ASSERT(pImg);    m_pImage = pImg;    m_lX     = lX;    m_lY     = lY;    if (m_lX >= 0 && m_lX < m_pImage->GetWidth() &&        m_lY >= 0 && m_lY < m_pImage->GetHeight())    {        m_pPixel = (UINT32*) m_pImage->GetPixel(m_lX, m_lY);    }    else    {        m_pPixel = NULL;    }    m_pImage->AddRef();}inline PXImageIterator::~PXImageIterator(){    HX_RELEASE(m_pImage);}inline BOOL PXImageIterator::operator == (const PXImageIterator& itr){    BOOL bRet = FALSE;    if (m_pImage == itr.m_pImage &&        m_lX     == itr.m_lX     &&        m_lY     == itr.m_lY)    {        bRet = TRUE;    }    return bRet;}inline BOOL PXImageIterator::operator != (const PXImageIterator& itr){    return !(*this == itr);}inline UINT32& PXImageIterator::operator * (){    HX_ASSERT(m_pPixel);    return *m_pPixel;}inline UINT32& PXImageIterator::GetPixel(){    HX_ASSERT(m_pPixel);    return *m_pPixel;}inline PXImageIterator& PXImageIteratorLRTB::operator ++ (){    if (m_lX >= 0 && m_lX < m_pImage->GetWidth() &&        m_lY >= 0 && m_lY < m_pImage->GetHeight())    {        m_lX++;        if (m_lX < m_pImage->GetWidth())        {            m_pPixel++;        }        else        {            m_lY++;            if (m_lY < m_pImage->GetHeight())            {                m_lX     = 0;                m_pPixel = (UINT32*) m_pImage->GetPixel(m_lX, m_lY);            }        }    }    return *this;}inline PXImageIterator& PXImageIteratorLRBT::operator ++ (){    if (m_lX >= 0 && m_lX < m_pImage->GetWidth() &&        m_lY >= 0 && m_lY < m_pImage->GetHeight())    {        m_lX++;        if (m_lX < m_pImage->GetWidth())        {            m_pPixel++;        }        else        {            m_lY--;            if (m_lY >= 0)            {                m_lX     = 0;                m_pPixel = (UINT32*) m_pImage->GetPixel(m_lX, m_lY);            }            else            {                m_lX = m_pImage->GetWidth();                m_lY = m_pImage->GetHeight();            }        }    }    return *this;}inline PXImageIterator& PXImageIteratorRLTB::operator ++ (){    if (m_lX >= 0 && m_lX < m_pImage->GetWidth() &&        m_lY >= 0 && m_lY < m_pImage->GetHeight())    {        m_lX--;        if (m_lX >= 0)        {            m_pPixel--;        }        else        {            m_lY++;            if (m_lY < m_pImage->GetHeight())            {                m_lX     = m_pImage->GetWidth() - 1;                m_pPixel = (UINT32*) m_pImage->GetPixel(m_lX, m_lY);            }            else            {                m_lX = m_pImage->GetWidth();                m_lY = m_pImage->GetHeight();            }        }    }    return *this;}inline PXImageIterator& PXImageIteratorRLBT::operator ++ (){    if (m_lX >= 0 && m_lX < m_pImage->GetWidth() &&        m_lY >= 0 && m_lY < m_pImage->GetHeight())    {        m_lX--;        if (m_lX >= 0)        {            m_pPixel--;        }        else        {            m_lY--;            if (m_lY >= 0)            {                m_lX     = m_pImage->GetWidth() - 1;                m_pPixel = (UINT32*) m_pImage->GetPixel(m_lX, m_lY);            }            else            {                m_lX = m_pImage->GetWidth();                m_lY = m_pImage->GetHeight();            }        }    }    return *this;}inline PXImageIterator& PXImageIteratorTBLR::operator ++ (){    if (m_lX >= 0 && m_lX < m_pImage->GetWidth() &&        m_lY >= 0 && m_lY < m_pImage->GetHeight())    {        m_lY++;        if (m_lY < m_pImage->GetHeight())        {            m_pPixel += m_pImage->GetRowJump32();        }        else        {            m_lX++;            if (m_lX < m_pImage->GetWidth())            {                m_lY     = 0;                m_pPixel = (UINT32*) m_pImage->GetPixel(m_lX, m_lY);            }            else            {                m_lX = m_pImage->GetWidth();                m_lY = m_pImage->GetHeight();            }        }    }    return *this;}inline PXImageIterator& PXImageIteratorTBRL::operator ++ (){    if (m_lX >= 0 && m_lX < m_pImage->GetWidth() &&        m_lY >= 0 && m_lY < m_pImage->GetHeight())    {        m_lY++;        if (m_lY < m_pImage->GetHeight())        {            m_pPixel += m_pImage->GetRowJump32();        }        else        {            m_lX--;            if (m_lX >= 0)            {                m_lY     = 0;                m_pPixel = (UINT32*) m_pImage->GetPixel(m_lX, m_lY);            }            else            {                m_lX = m_pImage->GetWidth();                m_lY = m_pImage->GetHeight();            }        }    }    return *this;}inline PXImageIterator& PXImageIteratorBTLR::operator ++ (){    if (m_lX >= 0 && m_lX < m_pImage->GetWidth() &&        m_lY >= 0 && m_lY < m_pImage->GetHeight())    {        m_lY--;        if (m_lY >= 0)        {            m_pPixel -= m_pImage->GetRowJump32();        }        else        {            m_lX++;            if (m_lX < m_pImage->GetWidth())            {                m_lY     = m_pImage->GetHeight() - 1;                m_pPixel = (UINT32*) m_pImage->GetPixel(m_lX, m_lY);            }            else            {                m_lX = m_pImage->GetWidth();                m_lY = m_pImage->GetHeight();            }        }    }    return *this;}inline PXImageIterator& PXImageIteratorBTRL::operator ++ (){    if (m_lX >= 0 && m_lX < m_pImage->GetWidth() &&        m_lY >= 0 && m_lY < m_pImage->GetHeight())    {        m_lY--;        if (m_lY >= 0)        {            m_pPixel -= m_pImage->GetRowJump32();        }        else        {            m_lX--;            if (m_lX >= 0)            {                m_lY     = m_pImage->GetHeight() - 1;                m_pPixel = (UINT32*) m_pImage->GetPixel(m_lX, m_lY);            }            else            {                m_lX = m_pImage->GetWidth();                m_lY = m_pImage->GetHeight();            }        }    }    return *this;}#define GETALPHA32(p)        ( (p)               >> 24)#define GETRED32(p)          (((p) & 0x00FF0000) >> 16)#define GETGREEN32(p)        (((p) & 0x0000FF00) >>  8)#define GETBLUE32(p)         ( (p) & 0x000000FF       )#define BLENDMULT(A,B,a)     (((A)*(a) + (B)*(256-(a))) >> 8)#define ALPHA_EXACT(A,B,a)   ((((A)*(a) + (B)*(255-(a))) + 127) / 255)#define ALPHABLEND(A,B,a)    (((A)*(a) + (B)*(256-(a)) + 128) >> 8)#define MAKEPIXEL32(r,g,b)   (((r) << 16) | ((g) << 8) | (b))#define MAKE_RGB32(r,g,b)    (((r) << 16) | ((g) << 8) | (b))#define MAKE_RGBA32(r,g,b,a) (((a) << 24) | ((r) << 16) | ((g) << 8) | (b))#define FILTER_OUT_UNSUPPORTED_FORMATS      \if (m_cBitmapInfo.biBitCount != 32 ||       \    m_cBitmapInfo.biCompression != HX_RGB) \{                                           \    HX_ASSERT(FALSE);                       \    return HXR_FAIL;                        \}#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -