本文整理汇总了C++中GraphicsLayer::contentsOpaque方法的典型用法代码示例。如果您正苦于以下问题:C++ GraphicsLayer::contentsOpaque方法的具体用法?C++ GraphicsLayer::contentsOpaque怎么用?C++ GraphicsLayer::contentsOpaque使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类GraphicsLayer
的用法示例。
在下文中一共展示了GraphicsLayer::contentsOpaque方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: scrollableAreaScrollbarLayerDidChange
void ScrollingCoordinatorChromium::scrollableAreaScrollbarLayerDidChange(ScrollableArea* scrollableArea, ScrollbarOrientation orientation)
{
#if OS(DARWIN)
static const bool platformSupportsCoordinatedScrollbar = false;
static const bool platformSupportsMainFrameOnly = false; // Don't care.
#elif OS(WINDOWS)
static const bool platformSupportsCoordinatedScrollbar = true;
static const bool platformSupportsMainFrameOnly = true;
#else
static const bool platformSupportsCoordinatedScrollbar = true;
static const bool platformSupportsMainFrameOnly = false;
#endif
if (!platformSupportsCoordinatedScrollbar)
return;
bool isMainFrame = (scrollableArea == static_cast<ScrollableArea*>(m_page->mainFrame()->view()));
if (!isMainFrame && platformSupportsMainFrameOnly)
return;
GraphicsLayer* scrollbarGraphicsLayer = orientation == HorizontalScrollbar ? horizontalScrollbarLayerForScrollableArea(scrollableArea) : verticalScrollbarLayerForScrollableArea(scrollableArea);
if (scrollbarGraphicsLayer) {
Scrollbar* scrollbar = orientation == HorizontalScrollbar ? scrollableArea->horizontalScrollbar() : scrollableArea->verticalScrollbar();
if (scrollbar->isCustomScrollbar()) {
detachScrollbarLayer(scrollbarGraphicsLayer);
return;
}
WebScrollbarLayer* scrollbarLayer = getWebScrollbarLayer(scrollableArea, orientation);
if (!scrollbarLayer)
scrollbarLayer = addWebScrollbarLayer(scrollableArea, orientation, createScrollbarLayer(scrollbar));
// Root layer non-overlay scrollbars should be marked opaque to disable
// blending.
bool isOpaqueScrollbar = !scrollbar->isOverlayScrollbar();
if (!scrollbarGraphicsLayer->contentsOpaque())
scrollbarGraphicsLayer->setContentsOpaque(isMainFrame && isOpaqueScrollbar);
scrollbarLayer->layer()->setOpaque(scrollbarGraphicsLayer->contentsOpaque());
setupScrollbarLayer(scrollbarGraphicsLayer, scrollbarLayer, scrollingWebLayerForScrollableArea(scrollableArea));
} else
removeWebScrollbarLayer(scrollableArea, orientation);
}
示例2: makeSnapshot
void InspectorLayerTreeAgent::makeSnapshot(ErrorString* errorString, const String& layerId, String* snapshotId)
{
GraphicsLayer* layer = layerById(errorString, layerId);
if (!layer)
return;
GraphicsContextRecorder recorder;
IntSize size = expandedIntSize(layer->size());
GraphicsContext* context = recorder.record(size, layer->contentsOpaque());
layer->paint(*context, IntRect(IntPoint(0, 0), size));
RefPtr<GraphicsContextSnapshot> snapshot = recorder.stop();
*snapshotId = String::number(++s_lastSnapshotId);
bool newEntry = m_snapshotById.add(*snapshotId, snapshot).isNewEntry;
ASSERT_UNUSED(newEntry, newEntry);
}