annotate foosdk/sdk/libPPUI/CMiddleDragOverlay.h @ 1:20d02a178406 default tip

*: check in everything else yay
author Paper <paper@tflc.us>
date Mon, 05 Jan 2026 02:15:46 -0500
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
1 #pragma once
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
2
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
3 #include "win32_op.h"
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
4 #include "win32_utility.h"
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
5
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
6 class CMiddleDragOverlay : public CWindowImpl<CMiddleDragOverlay,CWindow, CWinTraits<WS_POPUP, WS_EX_LAYERED> > {
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
7 public:
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
8 DECLARE_WND_CLASS_EX(TEXT("{61BFC7AD-C00F-4CEA-8E6A-EA22E01F43F9}"),0,(-1));
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
9
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
10 enum {
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
11 ColorKey = 0xc0ffee
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
12 };
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
13
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
14 BEGIN_MSG_MAP_EX(CMiddleDragOverlay)
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
15 MESSAGE_HANDLER(WM_CREATE,OnCreate);
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
16 MSG_WM_ERASEBKGND(OnEraseBkgnd)
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
17 MSG_WM_PAINT(OnPaint)
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
18 END_MSG_MAP()
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
19
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
20 void ShowHere(CPoint pt);
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
21 private:
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
22 LRESULT OnCreate(UINT,WPARAM,LPARAM,BOOL&) {
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
23 ::SetLayeredWindowAttributes(*this,ColorKey,0,LWA_COLORKEY);
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
24 return 0;
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
25 }
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
26 BOOL OnEraseBkgnd(CDCHandle dc) {
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
27 CRect rcClient;
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
28 WIN32_OP_D(GetClientRect(rcClient));
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
29 dc.FillSolidRect(rcClient, ColorKey);
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
30 return TRUE;
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
31 }
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
32 void OnPaint(CDCHandle dc) {
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
33 if (dc) {
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
34 Paint(dc);
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
35 } else {
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
36 CPaintDC pdc(*this);
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
37 Paint(pdc.m_hDC);
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
38 }
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
39 }
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
40 void Paint(CDCHandle dc);
20d02a178406 *: check in everything else
Paper <paper@tflc.us>
parents:
diff changeset
41 };