Changeset 71237 in webkit


Ignore:
Timestamp:
Nov 3, 2010 7:38:33 AM (13 years ago)
Author:
Patrick Gansterer
Message:

2010-11-03 Patrick Gansterer <Patrick Gansterer>

Reviewed by Adam Roben.

[WINCE] Add SharedBitmap
https://bugs.webkit.org/show_bug.cgi?id=28272

SharedBitmap is a helper class used as NativeImagePtr for WinCE.
It's wide used by WinCE graphics files as a replacement of HBITMAP.

Originally written by Yong Li <yong.li@torchmobile.com>.

  • platform/graphics/wince/GraphicsContextWinCE.cpp: (WebCore::TransparentLayerDC::TransparentLayerDC): (WebCore::TransparentLayerDC::~TransparentLayerDC): (WebCore::ScopeDCProvider::ScopeDCProvider): (WebCore::ScopeDCProvider::~ScopeDCProvider): (WebCore::GraphicsContext::drawText):
  • platform/graphics/wince/SharedBitmap.cpp: Added. (WebCore::SharedBitmap::create): (WebCore::SharedBitmap::SharedBitmap): (WebCore::SharedBitmap::~SharedBitmap): (WebCore::SharedBitmap::resetPixels): (WebCore::convert32To16): (WebCore::SharedBitmap::to16bit): (WebCore::SharedBitmap::freeMemory): (WebCore::SharedBitmap::createHandle): (WebCore::SharedBitmap::ensureHandle): (WebCore::SharedBitmap::draw): (WebCore::SharedBitmap::clipBitmap): (WebCore::drawPatternSimple): (WebCore::normalizePhase): (WebCore::SharedBitmap::drawPattern): (WebCore::SharedBitmap::DCProvider::getDC): (WebCore::SharedBitmap::DCProvider::releaseDC): (WebCore::SharedBitmap::clearPixels):
  • platform/graphics/wince/SharedBitmap.h: Added. (WebCore::DCProvider::getDC): (WebCore::DCProvider::releaseDC): (WebCore::DCProvider::DCHolder::DCHolder): (WebCore::DCProvider::DCHolder::~DCHolder): (WebCore::DCProvider::DCHolder::set): (WebCore::DCProvider::DCHolder::get): (WebCore::DCProvider::DCHolder::clearInternal): (WebCore::DCProvider::DCHolder::setInternal):
Location:
trunk/WebCore
Files:
2 added
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/WebCore/ChangeLog

    r71236 r71237  
     12010-11-03  Patrick Gansterer  <paroga@webkit.org>
     2
     3        Reviewed by Adam Roben.
     4
     5        [WINCE] Add SharedBitmap
     6        https://bugs.webkit.org/show_bug.cgi?id=28272
     7
     8        SharedBitmap is a helper class used as NativeImagePtr for WinCE.
     9        It's wide used by WinCE graphics files as a replacement of HBITMAP.
     10
     11        Originally written by Yong Li <yong.li@torchmobile.com>.
     12
     13        * platform/graphics/wince/GraphicsContextWinCE.cpp:
     14        (WebCore::TransparentLayerDC::TransparentLayerDC):
     15        (WebCore::TransparentLayerDC::~TransparentLayerDC):
     16        (WebCore::ScopeDCProvider::ScopeDCProvider):
     17        (WebCore::ScopeDCProvider::~ScopeDCProvider):
     18        (WebCore::GraphicsContext::drawText):
     19        * platform/graphics/wince/SharedBitmap.cpp: Added.
     20        (WebCore::SharedBitmap::create):
     21        (WebCore::SharedBitmap::SharedBitmap):
     22        (WebCore::SharedBitmap::~SharedBitmap):
     23        (WebCore::SharedBitmap::resetPixels):
     24        (WebCore::convert32To16):
     25        (WebCore::SharedBitmap::to16bit):
     26        (WebCore::SharedBitmap::freeMemory):
     27        (WebCore::SharedBitmap::createHandle):
     28        (WebCore::SharedBitmap::ensureHandle):
     29        (WebCore::SharedBitmap::draw):
     30        (WebCore::SharedBitmap::clipBitmap):
     31        (WebCore::drawPatternSimple):
     32        (WebCore::normalizePhase):
     33        (WebCore::SharedBitmap::drawPattern):
     34        (WebCore::SharedBitmap::DCProvider::getDC):
     35        (WebCore::SharedBitmap::DCProvider::releaseDC):
     36        (WebCore::SharedBitmap::clearPixels):
     37        * platform/graphics/wince/SharedBitmap.h: Added.
     38        (WebCore::DCProvider::getDC):
     39        (WebCore::DCProvider::releaseDC):
     40        (WebCore::DCProvider::DCHolder::DCHolder):
     41        (WebCore::DCProvider::DCHolder::~DCHolder):
     42        (WebCore::DCProvider::DCHolder::set):
     43        (WebCore::DCProvider::DCHolder::get):
     44        (WebCore::DCProvider::DCHolder::clearInternal):
     45        (WebCore::DCProvider::DCHolder::setInternal):
     46
    1472010-11-03  Nikolas Zimmermann  <nzimmermann@rim.com>
    248
  • trunk/WebCore/platform/graphics/wince/GraphicsContextWinCE.cpp

    r70996 r71237  
    459459    RefPtr<SharedBitmap> m_rotatedBitmap;
    460460    RECT m_bmpRect;
    461     unsigned m_key1;
    462     unsigned m_key2;
     461    unsigned m_key;
    463462    RotationTransform m_rotation;
    464463    float m_oldOpacity;
     
    528527        m_bitmap = m_data->getTransparentLayerBitmap(m_origRect, m_alphaPaintType, m_bmpRect, true, mustCreateLayer);
    529528    if (m_bitmap)
    530         m_memDc = m_bitmap->getDC(&m_key1, &m_key2);
     529        m_memDc = m_bitmap->getDC(&m_key);
    531530    else
    532531        m_memDc = m_data->m_dc;
     
    536535{
    537536    if (m_rotatedBitmap) {
    538         m_bitmap->releaseDC(m_memDc, m_key1, m_key2);
    539         m_key1 = m_key2 = 0;
     537        m_bitmap->releaseDC(m_memDc, m_key);
     538        m_key = 0;
    540539        rotateBitmap(m_rotatedBitmap.get(), m_bitmap.get(), m_rotation);
    541         m_memDc = m_rotatedBitmap->getDC(&m_key1, &m_key2);
     540        m_memDc = m_rotatedBitmap->getDC(&m_key);
    542541        m_data->paintBackTransparentLayerBitmap(m_memDc, m_rotatedBitmap.get(), m_rotatedOrigRect, m_alphaPaintType, m_bmpRect);
    543         m_rotatedBitmap->releaseDC(m_memDc, m_key1, m_key2);
     542        m_rotatedBitmap->releaseDC(m_memDc, m_key);
    544543    } else if (m_bitmap) {
    545544        m_data->paintBackTransparentLayerBitmap(m_memDc, m_bitmap.get(), m_origRect, m_alphaPaintType, m_bmpRect);
    546         m_bitmap->releaseDC(m_memDc, m_key1, m_key2);
     545        m_bitmap->releaseDC(m_memDc, m_key);
    547546    }
    548547    m_data->m_opacity = m_oldOpacity;
     
    568567    {
    569568        if (m_data->m_bitmap)
    570             m_data->m_dc = m_data->m_bitmap->getDC(&m_key1, &m_key2);
     569            m_data->m_dc = m_data->m_bitmap->getDC(&m_key);
    571570    }
    572571    ~ScopeDCProvider()
    573572    {
    574573        if (m_data->m_bitmap) {
    575             m_data->m_bitmap->releaseDC(m_data->m_dc, m_key1, m_key2);
     574            m_data->m_bitmap->releaseDC(m_data->m_dc, m_key);
    576575            m_data->m_dc = 0;
    577576        }
     
    579578private:
    580579    GraphicsContextPlatformPrivate* m_data;
    581     unsigned m_key1;
    582     unsigned m_key2;
     580    unsigned m_key;
    583581};
    584582
     
    15621560            font.drawText(&gc, run, IntPoint(0, font.ascent()), from, to);
    15631561        }
    1564         unsigned key1, key2;
    1565         HDC memDC = bmp->getDC(&key1, &key2);
     1562        unsigned key1;
     1563        HDC memDC = bmp->getDC(&key1);
    15661564        if (memDC) {
    15671565            m_data->paintBackTransparentLayerBitmap(memDC, bmp.get(), trRect, alphaPaintType, bmpRect);
    1568             bmp->releaseDC(memDC, key1, key2);
     1566            bmp->releaseDC(memDC, key1);
    15691567        }
    15701568    }
Note: See TracChangeset for help on using the changeset viewer.