summaryrefslogtreecommitdiffstats
path: root/base/base_drag_source.h
diff options
context:
space:
mode:
Diffstat (limited to 'base/base_drag_source.h')
-rw-r--r--base/base_drag_source.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/base/base_drag_source.h b/base/base_drag_source.h
index dea89af..3a4a94c 100644
--- a/base/base_drag_source.h
+++ b/base/base_drag_source.h
@@ -23,6 +23,13 @@ class BaseDragSource : public IDropSource {
BaseDragSource();
virtual ~BaseDragSource() { }
+ // Stop the drag operation at the next chance we get. This doesn't
+ // synchronously stop the drag (since Windows is controlling that),
+ // but lets us tell Windows to cancel the drag the next chance we get.
+ void CancelDrag() {
+ cancel_drag_ = true;
+ }
+
// IDropSource implementation:
HRESULT __stdcall QueryContinueDrag(BOOL escape_pressed, DWORD key_state);
HRESULT __stdcall GiveFeedback(DWORD effect);
@@ -40,6 +47,9 @@ class BaseDragSource : public IDropSource {
private:
LONG ref_count_;
+ // Set to true if we want to cancel the drag operation.
+ bool cancel_drag_;
+
DISALLOW_EVIL_CONSTRUCTORS(BaseDragSource);
};