WndShadow.cpp
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:2k
源码类别:

模拟服务器

开发平台:

C/C++

  1. /*****************************************************************************************
  2. // 界面窗口体系结构--切换显示状态时带移动控制的图形的窗口
  3. // Copyright : Kingsoft 2002
  4. // Author :   Wooy(Wu yue)
  5. // CreateTime: 2002-12-17
  6. *****************************************************************************************/
  7. #include "KWin32.h"
  8. #include "KIniFile.h"
  9. #include "WndShadow.h"
  10. #include "../../../Represent/iRepresent/iRepresentShell.h"
  11. #include "../../../Represent/iRepresent/KRepresentUnit.h"
  12. extern iRepresentShell* g_pRepresentShell;
  13. void KWndShadow::Clone(KWndShadow* pCopy)
  14. {
  15. if (pCopy)
  16. {
  17. KWndWindow::Clone(pCopy);
  18. pCopy->m_uColor = m_uColor;
  19. }
  20. }
  21. //初始化
  22. int KWndShadow::Init(KIniFile* pIniFile, const char* pSection)
  23. {
  24. if (KWndWindow::Init(pIniFile, pSection))
  25. {
  26. char Buff[16];
  27. pIniFile->GetString(pSection, "ShadowColor", "", Buff, sizeof(Buff));
  28. m_uColor = (GetColor(Buff) & 0xffffff);
  29. int nAlpha;
  30. pIniFile->GetInteger(pSection, "ShadowColorAlpha", 128, &nAlpha);
  31. if (nAlpha > 255 || nAlpha < 0)
  32. m_uColor |= 0x16000000;
  33. else
  34. m_uColor |= (((255 - nAlpha) << 21) & 0xff000000);
  35. return true;
  36. }
  37. return false;
  38. }
  39. //窗体绘制
  40. void KWndShadow::PaintWindow()
  41. {
  42. KWndWindow::PaintWindow();
  43. if (m_uColor && g_pRepresentShell)
  44. {
  45. KRUShadow Shadow;
  46. Shadow.oPosition.nX = m_nAbsoluteLeft;
  47. Shadow.oPosition.nY = m_nAbsoluteTop;
  48. Shadow.oEndPos.nX = m_nAbsoluteLeft + m_Width;
  49. Shadow.oEndPos.nY = m_nAbsoluteTop + m_Height;
  50. Shadow.Color.Color_dw = m_uColor;
  51. g_pRepresentShell->DrawPrimitives(1, &Shadow, RU_T_SHADOW, true);
  52. }
  53. }
  54. //判断一个点是否在窗口范围内,传入的是绝对坐标
  55. int KWndShadow::PtInWindow(int x, int y)
  56. {
  57. return 0;
  58. }
  59. void KWndShadow::SetColor(unsigned int uColor)
  60. {
  61. m_uColor = uColor;
  62. }