Browse Source

moved some files around and used different function to convert from cbitmap to dib
[SAB]


git-svn-id: svn://svn.code.sf.net/p/ditto-cp/code/trunk@134 595ec19a-5cb4-439b-94a8-42fb3063c22c

sabrogden 21 years ago
parent
commit
573bcaf588
5 changed files with 34 additions and 152 deletions
  1. 20 40
      CP_Main.dsp
  2. 0 96
      Misc.cpp
  3. 0 6
      Misc.h
  4. 9 6
      QListCtrl.cpp
  5. 5 4
      ToolTipEx.cpp

+ 20 - 40
CP_Main.dsp

@@ -203,6 +203,10 @@ SOURCE=.\ComboBoxSearch.h
 # End Source File
 # Begin Source File
 
+SOURCE=.\DialogResizer.cpp
+# End Source File
+# Begin Source File
+
 SOURCE=.\GroupStatic.cpp
 # End Source File
 # Begin Source File
@@ -215,6 +219,10 @@ SOURCE=.\HyperLink.cpp
 # End Source File
 # Begin Source File
 
+SOURCE=.\memdc.h
+# End Source File
+# Begin Source File
+
 SOURCE=.\NumberEdit.cpp
 # End Source File
 # Begin Source File
@@ -231,19 +239,19 @@ SOURCE=.\QListCtrl.h
 # End Source File
 # Begin Source File
 
-SOURCE=.\SkinHorizontalScrollbar.cpp
+SOURCE=.\RichEditCtrlEx.cpp
 # End Source File
 # Begin Source File
 
-SOURCE=.\SkinHorizontalScrollbar.h
+SOURCE=.\RichEditCtrlEx.h
 # End Source File
 # Begin Source File
 
-SOURCE=.\SkinVerticleScrollbar.cpp
+SOURCE=.\ToolTipEx.cpp
 # End Source File
 # Begin Source File
 
-SOURCE=.\SkinVerticleScrollbar.h
+SOURCE=.\ToolTipEx.h
 # End Source File
 # Begin Source File
 
@@ -264,6 +272,10 @@ SOURCE=.\AddType.cpp
 # End Source File
 # Begin Source File
 
+SOURCE=.\BitmapHelper.cpp
+# End Source File
+# Begin Source File
+
 SOURCE=.\Client.cpp
 # End Source File
 # Begin Source File
@@ -288,14 +300,6 @@ SOURCE=.\DataTable.cpp
 # End Source File
 # Begin Source File
 
-SOURCE=.\DialogResizer.cpp
-# End Source File
-# Begin Source File
-
-SOURCE=.\DIBUTIL.CPP
-# End Source File
-# Begin Source File
-
 SOURCE=.\FriendDetails.cpp
 # End Source File
 # Begin Source File
@@ -324,10 +328,6 @@ SOURCE=.\MainTable.cpp
 # End Source File
 # Begin Source File
 
-SOURCE=.\memdc.h
-# End Source File
-# Begin Source File
-
 SOURCE=.\Misc.cpp
 # End Source File
 # Begin Source File
@@ -388,10 +388,6 @@ SOURCE=.\QuickPaste.cpp
 # End Source File
 # Begin Source File
 
-SOURCE=.\RichEditCtrlEx.cpp
-# End Source File
-# Begin Source File
-
 SOURCE=.\SelectDB.cpp
 # End Source File
 # Begin Source File
@@ -409,10 +405,6 @@ SOURCE=.\SystemTray.cpp
 # End Source File
 # Begin Source File
 
-SOURCE=.\ToolTipEx.cpp
-# End Source File
-# Begin Source File
-
 SOURCE=.\TypesTable.cpp
 # End Source File
 # End Group
@@ -429,6 +421,10 @@ SOURCE=.\AddType.h
 # End Source File
 # Begin Source File
 
+SOURCE=.\BitmapHelper.h
+# End Source File
+# Begin Source File
+
 SOURCE=.\Client.h
 # End Source File
 # Begin Source File
@@ -453,14 +449,6 @@ SOURCE=.\DialogResizer.h
 # End Source File
 # Begin Source File
 
-SOURCE=.\DIBAPI.H
-# End Source File
-# Begin Source File
-
-SOURCE=.\DIBUTIL.H
-# End Source File
-# Begin Source File
-
 SOURCE=.\FriendDetails.h
 # End Source File
 # Begin Source File
@@ -557,10 +545,6 @@ SOURCE=.\Resource.h
 # End Source File
 # Begin Source File
 
-SOURCE=.\RichEditCtrlEx.h
-# End Source File
-# Begin Source File
-
 SOURCE=.\SelectDB.h
 # End Source File
 # Begin Source File
@@ -577,10 +561,6 @@ SOURCE=.\SystemTray.h
 # End Source File
 # Begin Source File
 
-SOURCE=.\ToolTipEx.h
-# End Source File
-# Begin Source File
-
 SOURCE=.\TypesTable.h
 # End Source File
 # End Group

+ 0 - 96
Misc.cpp

@@ -9,102 +9,6 @@
 
 // Debug Functions
 
-int GetCBitmapWidth(const CBitmap & cbm)
-{
-	BITMAP bm;
-	cbm.GetObject(sizeof(BITMAP),&bm);
-	return bm.bmWidth;
-}
-
-int GetCBitmapHeight(const CBitmap & cbm)
-{
-	BITMAP bm;
-	cbm.GetObject(sizeof(BITMAP),&bm);
-	return bm.bmHeight;
-} 
-
-WORD NumColors(BITMAPINFOHEADER& bmiHeader)
-{
-	if ( bmiHeader.biClrUsed != 0)
-		return (WORD)bmiHeader.biClrUsed;
-	
-	switch ( bmiHeader.biBitCount )
-	{
-	case 1:
-		return 2;
-	case 4:
-		return 16;
-	case 8:
-		return 256;
-	default:
-		return 0;
-	}
-}
-
-
-DWORD PaletteSize(BITMAPINFOHEADER& bmiHeader)
-{
-	return NumColors(bmiHeader) * sizeof(RGBQUAD);
-}
-
-BOOL GetCBitmap(void	*pClip2, CDC *pDC, CBitmap *pBitMap, int nMaxHeight)
-{
-	LPBITMAPINFO	lpBI ;
-	void*           pDIBBits;
-	BOOL bRet = FALSE;
-
-	CClipFormat		*pClip = (CClipFormat *)pClip2;
-
-	switch(pClip->m_cfType)
-	{
-	case CF_DIB:
-	{
-		lpBI = (LPBITMAPINFO)GlobalLock(pClip->m_hgData);
-		if(lpBI)
-		{
-			int nColors = lpBI->bmiHeader.biClrUsed ? lpBI->bmiHeader.biClrUsed : 1 << lpBI->bmiHeader.biBitCount;
-
-			if( lpBI->bmiHeader.biBitCount > 8 )
-			{
-				pDIBBits = (LPVOID)((LPDWORD)(lpBI->bmiColors + lpBI->bmiHeader.biClrUsed) + 
-					((lpBI->bmiHeader.biCompression == BI_BITFIELDS) ? 3 : 0));
-			}
-			else
-			{
-				pDIBBits = (LPVOID)(lpBI->bmiColors + nColors);
-			}
-
-			//pDIBBits = (void*)(lpBI + lpBI->bmiHeader.biSize + PaletteSize(lpBI->bmiHeader));
-
-			int nHeight = min(nMaxHeight, lpBI->bmiHeader.biHeight);
-			int nWidth = (nHeight * lpBI->bmiHeader.biWidth) / lpBI->bmiHeader.biHeight;
-			
-			if(pBitMap)
-			{
-				pBitMap->CreateCompatibleBitmap(pDC, nWidth, nHeight);
-
-				CDC MemDc;
-				MemDc.CreateCompatibleDC(pDC);
-
-				CBitmap* oldBitmap = MemDc.SelectObject(pBitMap);	
-			
-				::StretchDIBits(MemDc.m_hDC,
-					0, 0, 
-					nWidth, nHeight,
-					0, 0, lpBI->bmiHeader.biWidth, 
-					lpBI->bmiHeader.biHeight,
-					pDIBBits, lpBI, DIB_PAL_COLORS, SRCCOPY);
-
-				MemDc.SelectObject(oldBitmap);
-
-				bRet = TRUE;
-			}
-		}
-	}
-	}
-
-	return bRet;
-}
 
 CString GetIPAddress()
 {

+ 0 - 6
Misc.h

@@ -9,7 +9,6 @@
 #define ONE_MINUTE				60000
 
 #define DELETE_PTR(ptr) {  if(ptr) {delete ptr; ptr = NULL;}  }
-#define IS_WIN30_DIB(lpbi)  ((*(LPDWORD)(lpbi)) == sizeof(BITMAPINFOHEADER))
 
 #include "DatabaseUtilities.h"
 
@@ -39,11 +38,6 @@ typedef struct tagTHREADNAME_INFO
 } THREADNAME_INFO;
 void SetThreadName(DWORD dwThreadID, LPCTSTR szThreadName);
 
-int GetCBitmapWidth(const CBitmap & cbm);
-int GetCBitmapHeight(const CBitmap & cbm); 
-BOOL GetCBitmap(void *pClip2, CDC *pDC, CBitmap *pBitMap, int nMaxHeight);
-HANDLE BitmapToDIB(HBITMAP hBitmap, HPALETTE hPal);
-
 void LogSendRecieveInfo(CString cs);
 
 // Utility Functions

+ 9 - 6
QListCtrl.cpp

@@ -5,7 +5,8 @@
 #include "CP_Main.h"
 #include "QListCtrl.h"
 #include "ProcessPaste.h"
-#include "dibapi.h"
+
+#include "BitmapHelper.h"
 
 #ifdef _DEBUG
 #define new DEBUG_NEW
@@ -520,10 +521,10 @@ BOOL CQListCtrl::DrawBitMap(int nItem, CRect &crRect, CDC *pDC)
 	
 	if(Clip.m_hgData)
 	{
-		if(GetCBitmap(&Clip, pDC, &Bitmap, crRect.Height()))
+		if(CBitmapHelper::GetCBitmap(&Clip, pDC, &Bitmap, crRect.Height()))
 		{
-			int nWidth = GetCBitmapWidth(Bitmap);
-			int nHeight = GetCBitmapHeight(Bitmap);
+			int nWidth = CBitmapHelper::GetCBitmapWidth(Bitmap);
+			int nHeight = CBitmapHelper::GetCBitmapHeight(Bitmap);
 
 			CDC MemDc;
 			MemDc.CreateCompatibleDC(pDC);
@@ -554,7 +555,9 @@ BOOL CQListCtrl::DrawBitMap(int nItem, CRect &crRect, CDC *pDC)
 		{
 			HPALETTE hPal = NULL;
 
-			ThumbData.m_hgData = BitmapToDIB(Bitmap.operator HBITMAP(), hPal);
+			ThumbData.m_hgData = CBitmapHelper::hBitmapToDIB(Bitmap.operator HBITMAP(), BI_RGB, hPal);
+
+//			ThumbData.m_hgData = BitmapToDIB(Bitmap.operator HBITMAP(), hPal);
 
 			//Map will delete memory in destructor
 			ThumbData.bDeleteData = false;
@@ -870,7 +873,7 @@ void CQListCtrl::ShowFullDescription(bool bFromAuto)
 				
 				CDC *pDC = GetDC();;
 
-				GetCBitmap(&Clip, pDC, pBitMap, (rcItem.Width() * 2));
+				CBitmapHelper::GetCBitmap(&Clip, pDC, pBitMap, (rcItem.Width() * 2));
 
 				ReleaseDC(pDC);
 

+ 5 - 4
ToolTipEx.cpp

@@ -4,6 +4,7 @@
 #include "stdafx.h"
 #include "cp_main.h"
 #include "ToolTipEx.h"
+#include "BitmapHelper.h"
 
 #ifdef _DEBUG
 #define new DEBUG_NEW
@@ -136,8 +137,8 @@ void CToolTipEx::OnPaint()
 
 		CBitmap* oldBitmap = MemDc.SelectObject(m_pBitmap);
 
-		int nWidth = GetCBitmapWidth(*m_pBitmap);
-		int nHeight = GetCBitmapHeight(*m_pBitmap);
+		int nWidth = CBitmapHelper::GetCBitmapWidth(*m_pBitmap);
+		int nHeight = CBitmapHelper::GetCBitmapHeight(*m_pBitmap);
 		
 		dc.BitBlt(rect.left, rect.top, nWidth, nHeight, &MemDc, 0, 0, SRCCOPY);
 
@@ -248,8 +249,8 @@ CRect CToolTipEx::GetBoundsRect()
 
 	if(m_pBitmap)
 	{
-		int nWidth = GetCBitmapWidth(*m_pBitmap);
-		int nHeight = GetCBitmapHeight(*m_pBitmap);
+		int nWidth = CBitmapHelper::GetCBitmapWidth(*m_pBitmap);
+		int nHeight = CBitmapHelper::GetCBitmapHeight(*m_pBitmap);
 
 		rect.bottom += nHeight;
 		if((rect.left + nWidth) > rect.right)