本文整理汇总了C++中DragData::draggingSourceOperationMask方法的典型用法代码示例。如果您正苦于以下问题:C++ DragData::draggingSourceOperationMask方法的具体用法?C++ DragData::draggingSourceOperationMask怎么用?C++ DragData::draggingSourceOperationMask使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DragData
的用法示例。
在下文中一共展示了DragData::draggingSourceOperationMask方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: webkitWebViewBaseStartDrag
void webkitWebViewBaseStartDrag(WebKitWebViewBase* webViewBase, const DragData& dragData, PassRefPtr<ShareableBitmap> dragImage)
{
WebKitWebViewBasePrivate* priv = webViewBase->priv;
RefPtr<DataObjectGtk> dataObject = adoptRef(dragData.platformData());
GRefPtr<GtkTargetList> targetList = adoptGRef(PasteboardHelper::defaultPasteboardHelper()->targetListForDataObject(dataObject.get()));
GUniquePtr<GdkEvent> currentEvent(gtk_get_current_event());
GdkDragContext* context = gtk_drag_begin(GTK_WIDGET(webViewBase),
targetList.get(),
dragOperationToGdkDragActions(dragData.draggingSourceOperationMask()),
1, /* button */
currentEvent.get());
priv->dragAndDropHelper.startedDrag(context, dataObject.get());
// A drag starting should prevent a double-click from happening. This might
// happen if a drag is followed very quickly by another click (like in the DRT).
priv->clickCounter.reset();
if (dragImage) {
RefPtr<cairo_surface_t> image(dragImage->createCairoSurface());
priv->dragIcon.setImage(image.get());
priv->dragIcon.useForDrag(context);
} else
gtk_drag_set_icon_default(context);
}
示例2: encodeDataObject
void ArgumentCoder<DragData>::encode(ArgumentEncoder* encoder, const DragData& dragData)
{
encoder->encode(dragData.clientPosition());
encoder->encode(dragData.globalPosition());
encoder->encode(static_cast<uint64_t>(dragData.draggingSourceOperationMask()));
encoder->encode(static_cast<uint64_t>(dragData.flags()));
DataObjectGtk* platformData = dragData.platformData();
encoder->encode(static_cast<bool>(platformData));
if (platformData)
encodeDataObject(encoder, platformData);
}
示例3: startDrag
void DragAndDropHandler::startDrag(const DragData& dragData, PassRefPtr<ShareableBitmap> dragImage)
{
RefPtr<DataObjectGtk> dataObject = adoptRef(dragData.platformData());
GRefPtr<GtkTargetList> targetList = adoptGRef(PasteboardHelper::defaultPasteboardHelper()->targetListForDataObject(dataObject.get()));
GUniquePtr<GdkEvent> currentEvent(gtk_get_current_event());
GdkDragContext* context = gtk_drag_begin(m_page.viewWidget(), targetList.get(), dragOperationToGdkDragActions(dragData.draggingSourceOperationMask()),
GDK_BUTTON_PRIMARY, currentEvent.get());
m_draggingDataObjects.set(context, dataObject.get());
if (dragImage) {
RefPtr<cairo_surface_t> image(dragImage->createCairoSurface());
m_dragIcon.setImage(image.get());
m_dragIcon.useForDrag(context);
} else
gtk_drag_set_icon_default(context);
}