Changeset 257


Ignore:
Timestamp:
08/17/07 19:59:17 (12 years ago)
Author:
Eoin
Message:

Unproductive playing with flicker-less listviews.

Location:
src
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • src/HaliteDialog.cpp

    r256 r257  
    381381#       endif 
    382382} 
     383 
     384LRESULT HaliteDialog::DialogListView::OnEraseBkgnd(HDC dc) 
     385{ 
     386        CRect rect; 
     387        GetClientRect(rect); 
     388         
     389        if(hal::uxtheme().pIsAppThemed && hal::uxtheme().pIsAppThemed()) 
     390        { 
     391                if (hal::uxtheme().pDrawThemeParentBackground) 
     392                { 
     393                        hal::uxtheme().pDrawThemeParentBackground(*this, dc, rect); 
     394                } 
     395        } 
     396         
     397        return 1; 
     398} 
     399 
     400LRESULT HaliteDialog::DialogListView::OnNcPaint(HRGN rgn) 
     401{ 
     402        CRect rect; 
     403        GetClientRect(rect); 
     404         
     405        HDC hdc; 
     406        hdc = GetDCEx(rgn, DCX_INTERSECTRGN|DCX_WINDOW|DCX_PARENTCLIP|DCX_CLIPCHILDREN); 
     407         
     408        if (!hdc) 
     409        { 
     410        //      SetMsgHandled(false); 
     411                return 0; 
     412        } 
     413         
     414        CMemoryDC mDc(hdc, rect); 
     415         
     416        if (hal::uxtheme().pIsAppThemed) 
     417                if(hal::uxtheme().pIsAppThemed()) 
     418                { 
     419                        if (hal::uxtheme().pDrawThemeParentBackground) 
     420                        { 
     421                                hal::uxtheme().pDrawThemeParentBackground(*this, mDc, rect); 
     422                        } 
     423                } 
     424                 
     425        Print(mDc, PRF_NONCLIENT); 
     426         
     427        //::BitBlt(hdc, rect.left, rect.top, rect.right, rect.bottom, mDc, rect.left, rect.top, SRCCOPY); 
     428        ReleaseDC(hdc); 
     429        return 0; 
     430} 
     431 
     432LRESULT HaliteDialog::DialogListView::OnPaint(HDC dc) 
     433{ 
     434        CRect rect; 
     435        GetClientRect(rect); 
     436         
     437        CPaintDC pDc(*this); 
     438         
     439        CMemoryDC mDc(pDc, pDc.m_ps.rcPaint); 
     440         
     441        if (hal::uxtheme().pIsAppThemed) 
     442                if(hal::uxtheme().pIsAppThemed()) 
     443                { 
     444                        if (hal::uxtheme().pDrawThemeParentBackground) 
     445                        { 
     446                                hal::uxtheme().pDrawThemeParentBackground(*this, mDc, &pDc.m_ps.rcPaint); 
     447                        } 
     448                } 
     449                 
     450        PrintClient(mDc, PRF_CHILDREN|PRF_CLIENT|PRF_ERASEBKGND); 
     451         
     452//      pDc.BitBlt(pDc.m_ps.rcPaint.left, pDc.m_ps.rcPaint.top, pDc.m_ps.rcPaint.right, pDc.m_ps.rcPaint.bottom, mDc, 15, 15, SRCCOPY); 
     453        return 0; 
     454} 
     455         
  • src/HaliteDialog.hpp

    r253 r257  
    7373                BEGIN_MSG_MAP_EX(thisClass) 
    7474                        MSG_WM_DESTROY(OnDestroy) 
     75                         
     76                //      MSG_WM_ERASEBKGND(OnEraseBkgnd) 
     77                //      MSG_WM_PAINT(OnPaint) 
     78                //      MSG_WM_NCPAINT(OnNcPaint) 
    7579         
    7680                        CHAIN_MSG_MAP(listClass) 
     
    147151                void uiUpdate(const hal::TorrentDetails& tD); 
    148152                 
     153                LRESULT OnEraseBkgnd(HDC dc); 
     154                LRESULT OnNcPaint(HRGN rgn); 
     155                LRESULT OnPaint(HDC dc); 
     156                 
    149157        private: 
    150158                hal::PeerDetails peerDetails_; 
  • src/HaliteListView.hpp

    r255 r257  
    139139                                return L"Seeding";  
    140140                        else 
    141                                 return lexical_cast<wstring>(copies);            
     141                                return (wformat(L"%1$.2f") % copies).str();              
    142142                }                
    143143        }; 
  • src/HaliteSortListViewCtrl.hpp

    r256 r257  
    1313#include "WinAPIWaitableTimer.hpp" 
    1414 
     15#include "UxthemeWrapper.hpp" 
     16 
    1517template<class T> 
    1618class UpdateLock 
     
    2123        { 
    2224                ++window_.updateLock_; 
    23                 window_.SetRedraw(false); 
     25//              window_.LockWindowUpdate(true); 
    2426        } 
    2527         
     
    3234        void unlock() 
    3335        { 
    34                 window_.SetRedraw(true); 
    35                 window_.InvalidateRect(NULL, true); 
     36//              window_.LockWindowUpdate(false); 
     37//              window_.InvalidateRect(NULL, true); 
    3638        } 
    3739         
     
    5254                        locked_=  true; 
    5355                        ++window_.updateLock_; 
    54                         window_.SetRedraw(false); 
     56//                      window_.LockWindowUpdate(true); 
    5557                } 
    5658        } 
     
    6466        void unlock() 
    6567        { 
    66                 window_.SetRedraw(true); 
    67                 window_.InvalidateRect(NULL, true); 
     68//              window_.LockWindowUpdate(false); 
     69//              window_.InvalidateRect(NULL, true); 
    6870        } 
    6971         
     
    354356                } 
    355357 
    356  
    357358                if (resNames) 
    358359                { 
  • src/HaliteTabPage.hpp

    r148 r257  
    1010public: 
    1111    BEGIN_MSG_MAP_EX(CHalTabPageImpl) 
     12                MSG_WM_ERASEBKGND(OnEraseBkgnd) 
    1213                MSG_WM_CTLCOLORDLG(OnCltColorDlg) 
    1314                MSG_WM_CTLCOLORBTN(OnCltColor) 
     
    1920 
    2021protected: 
     22        LRESULT OnEraseBkgnd(HDC dc) 
     23        { 
     24                CRect rect; 
     25                GetClientRect(rect); 
     26                 
     27                if(hal::uxtheme().pIsAppThemed && hal::uxtheme().pIsAppThemed()) 
     28                { 
     29                        if (hal::uxtheme().pDrawThemeParentBackground) 
     30                        { 
     31                                hal::uxtheme().pDrawThemeParentBackground(*this, dc, rect); 
     32                        } 
     33                } 
     34                 
     35                return 1; 
     36        } 
     37         
    2138        LRESULT OnCltColorDlg(HDC hDC, HWND hWnd) 
    2239        { 
  • src/HaliteWindow.cpp

    r248 r257  
    469469}        
    470470 
    471 LRESULT HaliteWindow::OnEraseBkgnd(HDC hdc) 
    472 { 
    473  
     471LRESULT HaliteWindow::OnEraseBkgnd(HDC dc) 
     472{ 
    474473        return 1; 
    475474} 
     475 
     476LRESULT HaliteWindow::OnPaint(HDC dc) 
     477{ 
     478        return 1; 
     479} 
  • src/HaliteWindow.hpp

    r248 r257  
    6363                MSG_WM_COPYDATA(OnCopyData); 
    6464                MESSAGE_HANDLER(WM_AreYouMe_, OnAreYouMe) 
    65                 MESSAGE_HANDLER_EX(WM_TRAYNOTIFY, OnTrayNotification) 
     65                MESSAGE_HANDLER_EX(WM_TRAYNOTIFY, OnTrayNotification)    
     66                 
     67                MSG_WM_ERASEBKGND(OnEraseBkgnd) 
     68                //MSG_WM_PAINT(OnPaint) 
    6669 
    6770                COMMAND_ID_HANDLER(ID_FILE_NEW, OnFileNew) 
     
    156159        LRESULT OnViewStatusBar(WORD wNotifyCode, WORD wID, HWND hWndCtl, BOOL& bHandled); 
    157160        LRESULT OnEraseBkgnd(HDC hdc); 
     161        LRESULT OnPaint(HDC dc); 
    158162 
    159163        LRESULT OnCopyData(HWND, PCOPYDATASTRUCT pCSD); 
  • src/halEvent.cpp

    r141 r257  
    3434                event_signal_(event); 
    3535} 
    36  
    3736         
    3837std::wstring Event::eventLevelToStr(eventLevel event) 
  • src/halTorrent.cpp

    r256 r257  
    840840} 
    841841 
    842  
    843842void BitTorrent::setSessionHalfOpenLimit(int halfConn) 
    844843{ 
  • src/stdAfx.hpp

    r251 r257  
    1212#endif 
    1313 
    14 #define HALITE_GUID L"HALITE-{E3A8BF7D-962F-476E-886B-FECEDD2F0FC7}" 
    15 #define WMU_ARE_YOU_ME_STRING  L"WMU_ARE_YOU_ME_HALITE-{E3A8BF7D-962F-476E-886B-FECEDD2F0FC7}" 
     14#define HALITE_GUID L"HALITE-{E3A8BF7D-962F-476E-886B-FECEDD2F0FC7_dev}" 
     15#define WMU_ARE_YOU_ME_STRING  L"WMU_ARE_YOU_ME_HALITE-{E3A8BF7D-962F-476E-886B-FECEDD2F0FC7_dev}" 
    1616#define HALITE_SENDING_CMD 68816889 
    1717 
Note: See TracChangeset for help on using the changeset viewer.