mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2025-06-05 21:39:12 +02:00
Initial commit of libcef and cefclient projects.
git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@2 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
This commit is contained in:
43
libcef/browser_drag_delegate.cc
Normal file
43
libcef/browser_drag_delegate.cc
Normal file
@@ -0,0 +1,43 @@
|
||||
// Copyright (c) 2008 The Chromium Embedded Framework Authors.
|
||||
// Portions copyright (c) 2006-2008 The Chromium Authors. All rights reserved.
|
||||
// Use of this source code is governed by a BSD-style license that can be
|
||||
// found in the LICENSE file.
|
||||
|
||||
#include "precompiled_libcef.h"
|
||||
#include "browser_drag_delegate.h"
|
||||
|
||||
#include <atltypes.h>
|
||||
|
||||
#include "webkit/glue/webview.h"
|
||||
|
||||
namespace {
|
||||
|
||||
void GetCursorPositions(HWND hwnd, CPoint* client, CPoint* screen) {
|
||||
// GetCursorPos will fail if the input desktop isn't the current desktop.
|
||||
// See http://b/1173534. (0,0) is wrong, but better than uninitialized.
|
||||
if (!GetCursorPos(screen))
|
||||
screen->SetPoint(0, 0);
|
||||
|
||||
*client = *screen;
|
||||
ScreenToClient(hwnd, client);
|
||||
}
|
||||
|
||||
} // anonymous namespace
|
||||
|
||||
void BrowserDragDelegate::OnDragSourceCancel() {
|
||||
OnDragSourceDrop();
|
||||
}
|
||||
|
||||
void BrowserDragDelegate::OnDragSourceDrop() {
|
||||
CPoint client;
|
||||
CPoint screen;
|
||||
GetCursorPositions(source_hwnd_, &client, &screen);
|
||||
webview_->DragSourceEndedAt(client.x, client.y, screen.x, screen.y);
|
||||
}
|
||||
|
||||
void BrowserDragDelegate::OnDragSourceMove() {
|
||||
CPoint client;
|
||||
CPoint screen;
|
||||
GetCursorPositions(source_hwnd_, &client, &screen);
|
||||
webview_->DragSourceMovedTo(client.x, client.y, screen.x, screen.y);
|
||||
}
|
Reference in New Issue
Block a user