本文整理汇总了C++中rootLayer函数的典型用法代码示例。如果您正苦于以下问题:C++ rootLayer函数的具体用法?C++ rootLayer怎么用?C++ rootLayer使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了rootLayer函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: rootLayer
String LayerRendererChromium::layerTreeAsText() const
{
TextStream ts;
if (rootLayer()) {
ts << rootLayer()->layerTreeAsText();
ts << "RenderSurfaces:\n";
dumpRenderSurfaces(ts, 1, rootLayer());
}
return ts.release();
}
开发者ID:RasterCode,项目名称:wke,代码行数:10,代码来源:LayerRendererChromium.cpp
示例2: ASSERT
void PaintLayerCompositor::updateWithoutAcceleratedCompositing(CompositingUpdateType updateType)
{
ASSERT(!hasAcceleratedCompositing());
if (updateType >= CompositingUpdateAfterCompositingInputChange)
CompositingInputsUpdater(rootLayer()).update();
#if ENABLE(ASSERT)
CompositingInputsUpdater::assertNeedsCompositingInputsUpdateBitsCleared(rootLayer());
#endif
}
开发者ID:joone,项目名称:chromium-crosswalk,代码行数:11,代码来源:PaintLayerCompositor.cpp
示例3: resetDevice
void LegacyCACFLayerTreeHost::resize()
{
if (!m_d3dDevice)
return;
// Resetting the device might fail here. But that's OK, because if it does it we will attempt to
// reset the device the next time we try to render.
resetDevice(ChangedWindowSize);
if (rootLayer()) {
rootLayer()->setBounds(bounds());
flushContext();
}
}
开发者ID:1833183060,项目名称:wke,代码行数:14,代码来源:LegacyCACFLayerTreeHost.cpp
示例4: ASSERT
void CoordinatedGraphicsScene::paintToGraphicsContext(PlatformGraphicsContext* platformContext, const Color& backgroundColor, bool drawsBackground)
{
if (!m_textureMapper)
m_textureMapper = TextureMapper::create();
ASSERT(m_textureMapper->accelerationMode() == TextureMapper::SoftwareMode);
syncRemoteContent();
TextureMapperLayer* layer = rootLayer();
if (!layer)
return;
GraphicsContext graphicsContext(platformContext);
m_textureMapper->setGraphicsContext(&graphicsContext);
m_textureMapper->beginPainting();
IntRect clipRect = graphicsContext.clipBounds();
if (drawsBackground)
m_textureMapper->drawSolidColor(clipRect, TransformationMatrix(), backgroundColor);
else
m_textureMapper->drawSolidColor(clipRect, TransformationMatrix(), m_viewBackgroundColor);
layer->paint();
m_fpsCounter.updateFPSAndDisplay(m_textureMapper.get(), clipRect.location());
m_textureMapper->endPainting();
m_textureMapper->setGraphicsContext(0);
}
开发者ID:AndriyKalashnykov,项目名称:webkit,代码行数:26,代码来源:CoordinatedGraphicsScene.cpp
示例5: rootLayer
bool TestMouseManager::testSimple() {
Handle<Layer> rootLayer(new Layer());
Handle<Renderable> target1(new Renderable());
rootLayer->addChild(target1);
rootLayer->setInteractive(true);
target1->setInteractive(true);
target1->setSize(50, 50);
target1->setPosition(50, 50);
TestListener targetListener;
target1->addEventListener(MOUSE_DOWN, &targetListener);
TestListener layerListener;
rootLayer->addEventListener(MOUSE_DOWN, &layerListener);
MouseManager *manager = MouseManager::getManager();
manager->setRootLayer(rootLayer);
manager->onMouseDown(LEFT_BUTTON, 0, 0);
assert(NULL == targetListener.lastEvent.get());
assert(NULL == layerListener.lastEvent.get());
manager->onMouseDown(LEFT_BUTTON, 51, 52);
assert(NULL != targetListener.lastEvent.get());
am_equals(1, targetListener.lastEvent->getLocalMouseX());
am_equals(2, targetListener.lastEvent->getLocalMouseY());
assert(NULL != layerListener.lastEvent.get());
assert(layerListener.lastEvent->getEventTarget() == target1);
am_equals(1, layerListener.lastEvent->getLocalMouseX());
am_equals(2, layerListener.lastEvent->getLocalMouseY());
return true;
}
开发者ID:astrellon,项目名称:GPP,代码行数:35,代码来源:test_mouse_manager.cpp
示例6: fullyInvalidatePaintRecursive
void PaintLayerCompositor::fullyInvalidatePaint()
{
// We're walking all compositing layers and invalidating them, so there's
// no need to have up-to-date compositing state.
DisableCompositingQueryAsserts disabler;
fullyInvalidatePaintRecursive(rootLayer());
}
开发者ID:joone,项目名称:chromium-crosswalk,代码行数:7,代码来源:PaintLayerCompositor.cpp
示例7: toLocalFrame
void PaintLayerCompositor::updateIfNeededRecursive()
{
FrameView* view = m_layoutView.frameView();
if (view->shouldThrottleRendering())
return;
for (Frame* child = m_layoutView.frameView()->frame().tree().firstChild(); child; child = child->tree().nextSibling()) {
if (!child->isLocalFrame())
continue;
LocalFrame* localFrame = toLocalFrame(child);
// It's possible for trusted Pepper plugins to force hit testing in situations where
// the frame tree is in an inconsistent state, such as in the middle of frame detach.
// TODO(bbudge) Remove this check when trusted Pepper plugins are gone.
if (localFrame->document()->isActive())
localFrame->contentLayoutObject()->compositor()->updateIfNeededRecursive();
}
TRACE_EVENT0("blink", "PaintLayerCompositor::updateIfNeededRecursive");
ASSERT(!m_layoutView.needsLayout());
ScriptForbiddenScope forbidScript;
// FIXME: enableCompositingModeIfNeeded can trigger a CompositingUpdateRebuildTree,
// which asserts that it's not InCompositingUpdate.
enableCompositingModeIfNeeded();
if (m_needsUpdateDescendantDependentFlags) {
updateDescendantDependentFlagsForEntireSubtree(*rootLayer());
m_needsUpdateDescendantDependentFlags = false;
}
m_layoutView.commitPendingSelection();
lifecycle().advanceTo(DocumentLifecycle::InCompositingUpdate);
updateIfNeeded();
lifecycle().advanceTo(DocumentLifecycle::CompositingClean);
DocumentAnimations::updateCompositorAnimations(m_layoutView.document());
m_layoutView.frameView()->scrollableArea()->updateCompositorScrollAnimations();
if (const FrameView::ScrollableAreaSet* animatingScrollableAreas = m_layoutView.frameView()->animatingScrollableAreas()) {
for (ScrollableArea* scrollableArea : *animatingScrollableAreas)
scrollableArea->updateCompositorScrollAnimations();
}
#if ENABLE(ASSERT)
ASSERT(lifecycle().state() == DocumentLifecycle::CompositingClean);
assertNoUnresolvedDirtyBits();
for (Frame* child = m_layoutView.frameView()->frame().tree().firstChild(); child; child = child->tree().nextSibling()) {
if (!child->isLocalFrame())
continue;
LocalFrame* localFrame = toLocalFrame(child);
if (localFrame->shouldThrottleRendering())
continue;
localFrame->contentLayoutObject()->compositor()->assertNoUnresolvedDirtyBits();
}
#endif
}
开发者ID:joone,项目名称:chromium-crosswalk,代码行数:59,代码来源:PaintLayerCompositor.cpp
示例8: rootLayer
void WKCACFViewLayerTreeHost::updateViewIfNeeded()
{
if (!m_viewNeedsUpdate)
return;
m_viewNeedsUpdate = false;
CGRect layerBounds = rootLayer()->bounds();
CGRect bounds = this->bounds();
WKCACFViewUpdate(m_view.get(), window(), &bounds);
if (CGRectEqualToRect(layerBounds, rootLayer()->bounds()))
return;
// Flush the context so the layer's rendered bounds will match our bounds.
flushContext();
}
开发者ID:sailei1,项目名称:webkit,代码行数:17,代码来源:WKCACFViewLayerTreeHost.cpp
示例9: rootLayer
void PaintLayerCompositor::updateAcceleratedCompositingSettings()
{
m_compositingReasonFinder.updateTriggers();
m_hasAcceleratedCompositing = m_layoutView.document().settings()->acceleratedCompositingEnabled();
m_rootShouldAlwaysCompositeDirty = true;
if (m_rootLayerAttachment != RootLayerUnattached)
rootLayer()->setNeedsCompositingInputsUpdate();
}
开发者ID:joone,项目名称:chromium-crosswalk,代码行数:8,代码来源:PaintLayerCompositor.cpp
示例10: rootLayer
TextureMapperCache* TextureMapperNode::cache()
{
TextureMapperNode* root = rootLayer();
if (!root)
return 0;
if (!root->m_cache)
root->m_cache = new TextureMapperCache;
return root->m_cache;
}
开发者ID:0omega,项目名称:platform_external_webkit,代码行数:9,代码来源:TextureMapperNode.cpp
示例11: m_frame
TextureMapperLayerClientQt::TextureMapperLayerClientQt(QWebFrame* frame, GraphicsLayer* layer)
: m_frame(frame)
, m_rootGraphicsLayer(GraphicsLayer::create(0))
{
m_frame->d->rootTextureMapperLayer = rootLayer();
m_rootGraphicsLayer->addChild(layer);
m_rootGraphicsLayer->setDrawsContent(false);
m_rootGraphicsLayer->setMasksToBounds(false);
m_rootGraphicsLayer->setSize(IntSize(1, 1));
}
开发者ID:dzhshf,项目名称:WebKit,代码行数:10,代码来源:PageClientQt.cpp
示例12: ASSERT
// This function commits the CCLayerTreeHost to an impl tree. When modifying
// this function, keep in mind that the function *runs* on the impl thread! Any
// code that is logically a main thread operation, e.g. deletion of a LayerChromium,
// should be delayed until the CCLayerTreeHost::commitComplete, which will run
// after the commit, but on the main thread.
void CCLayerTreeHost::finishCommitOnImplThread(CCLayerTreeHostImpl* hostImpl)
{
ASSERT(CCProxy::isImplThread());
hostImpl->setRootLayer(TreeSynchronizer::synchronizeTrees(rootLayer(), hostImpl->releaseRootLayer()));
// We may have added an animation during the tree sync. This will cause both layer tree hosts
// to visit their controllers.
if (rootLayer()) {
hostImpl->setNeedsAnimateLayers();
m_needsAnimateLayers = true;
}
hostImpl->setSourceFrameNumber(frameNumber());
hostImpl->setViewportSize(viewportSize());
hostImpl->setPageScaleFactorAndLimits(m_pageScaleFactor, m_minPageScaleFactor, m_maxPageScaleFactor);
hostImpl->setBackgroundColor(m_backgroundColor);
m_frameNumber++;
}
开发者ID:conioh,项目名称:os-design,代码行数:25,代码来源:CCLayerTreeHost.cpp
示例13: ASSERT
void CoordinatedGraphicsScene::paintToCurrentGLContext(const TransformationMatrix& matrix, float opacity, const FloatRect& clipRect, TextureMapper::PaintFlags PaintFlags)
{
if (!m_textureMapper) {
m_textureMapper = TextureMapper::create(TextureMapper::OpenGLMode);
static_cast<TextureMapperGL*>(m_textureMapper.get())->setEnableEdgeDistanceAntialiasing(true);
}
ASSERT(m_textureMapper->accelerationMode() == TextureMapper::OpenGLMode);
syncRemoteContent();
adjustPositionForFixedLayers();
GraphicsLayer* currentRootLayer = rootLayer();
if (!currentRootLayer)
return;
TextureMapperLayer* layer = toTextureMapperLayer(currentRootLayer);
if (!layer)
return;
layer->setTextureMapper(m_textureMapper.get());
if (!m_animationsLocked)
layer->applyAnimationsRecursively();
m_textureMapper->beginPainting(PaintFlags);
m_textureMapper->beginClip(TransformationMatrix(), clipRect);
if (m_setDrawsBackground) {
RGBA32 rgba = makeRGBA32FromFloats(m_backgroundColor.red(),
m_backgroundColor.green(), m_backgroundColor.blue(),
m_backgroundColor.alpha() * opacity);
m_textureMapper->drawSolidColor(clipRect, TransformationMatrix(), Color(rgba));
}
if (currentRootLayer->opacity() != opacity || currentRootLayer->transform() != matrix) {
currentRootLayer->setOpacity(opacity);
currentRootLayer->setTransform(matrix);
currentRootLayer->flushCompositingStateForThisLayerOnly();
}
layer->paint();
m_fpsCounter.updateFPSAndDisplay(m_textureMapper.get(), clipRect.location(), matrix);
m_textureMapper->endClip();
m_textureMapper->endPainting();
if (layer->descendantsOrSelfHaveRunningAnimations())
dispatchOnMainThread(bind(&CoordinatedGraphicsScene::updateViewport, this));
#if ENABLE(REQUEST_ANIMATION_FRAME)
if (m_animationFrameRequested) {
m_animationFrameRequested = false;
dispatchOnMainThread(bind(&CoordinatedGraphicsScene::animationFrameReady, this));
}
#endif
}
开发者ID:fmalita,项目名称:webkit,代码行数:54,代码来源:CoordinatedGraphicsScene.cpp
示例14: enableCompositingModeIfNeeded
void PaintLayerCompositor::didLayout()
{
// FIXME: Technically we only need to do this when the FrameView's
// isScrollable method would return a different value.
m_rootShouldAlwaysCompositeDirty = true;
enableCompositingModeIfNeeded();
// FIXME: Rather than marking the entire LayoutView as dirty, we should
// track which Layers moved during layout and only dirty those
// specific Layers.
rootLayer()->setNeedsCompositingInputsUpdate();
}
开发者ID:joone,项目名称:chromium-crosswalk,代码行数:12,代码来源:PaintLayerCompositor.cpp
示例15: syncRemoteContent
void CoordinatedGraphicsScene::paintToCurrentGLContext(const TransformationMatrix& matrix, float opacity, const FloatRect& clipRect, const Color& backgroundColor, bool drawsBackground, const FloatPoint& contentPosition, TextureMapper::PaintFlags PaintFlags)
{
if (!m_textureMapper) {
m_textureMapper = TextureMapper::create();
static_cast<TextureMapperGL*>(m_textureMapper.get())->setEnableEdgeDistanceAntialiasing(true);
}
syncRemoteContent();
adjustPositionForFixedLayers(contentPosition);
TextureMapperLayer* currentRootLayer = rootLayer();
if (!currentRootLayer)
return;
#if USE(COORDINATED_GRAPHICS_THREADED)
for (auto& proxy : m_platformLayerProxies.values())
proxy->swapBuffer();
#endif
currentRootLayer->setTextureMapper(m_textureMapper.get());
currentRootLayer->applyAnimationsRecursively();
m_textureMapper->beginPainting(PaintFlags);
m_textureMapper->beginClip(TransformationMatrix(), clipRect);
if (drawsBackground) {
RGBA32 rgba = makeRGBA32FromFloats(backgroundColor.red(),
backgroundColor.green(), backgroundColor.blue(),
backgroundColor.alpha() * opacity);
m_textureMapper->drawSolidColor(clipRect, TransformationMatrix(), Color(rgba));
} else {
GraphicsContext3D* context = static_cast<TextureMapperGL*>(m_textureMapper.get())->graphicsContext3D();
context->clearColor(m_viewBackgroundColor.red() / 255.0f, m_viewBackgroundColor.green() / 255.0f, m_viewBackgroundColor.blue() / 255.0f, m_viewBackgroundColor.alpha() / 255.0f);
context->clear(GraphicsContext3D::COLOR_BUFFER_BIT);
}
if (currentRootLayer->opacity() != opacity || currentRootLayer->transform() != matrix) {
currentRootLayer->setOpacity(opacity);
currentRootLayer->setTransform(matrix);
}
currentRootLayer->paint();
m_fpsCounter.updateFPSAndDisplay(*m_textureMapper, clipRect.location(), matrix);
m_textureMapper->endClip();
m_textureMapper->endPainting();
if (currentRootLayer->descendantsOrSelfHaveRunningAnimations()) {
RefPtr<CoordinatedGraphicsScene> protector(this);
dispatchOnClientRunLoop([=] {
protector->updateViewport();
});
}
}
开发者ID:runt18,项目名称:webkit,代码行数:52,代码来源:CoordinatedGraphicsScene.cpp
示例16: rootLayer
void workbench_physical_Diagram::init() {
if (!_data)
_data = new workbench_physical_Diagram::ImplData(this);
model_Diagram::set_data(_data);
if (_rootLayer.is_valid())
throw std::logic_error("rootLayer value is already initialized");
rootLayer(workbench_physical_LayerRef(grt::Initialized));
_rootLayer->owner(this);
_rootLayer->width(width());
_rootLayer->height(height());
}
开发者ID:pk-codebox-evo,项目名称:mysql-workbench,代码行数:13,代码来源:workbench_physical_Diagram.cpp
示例17: initializeLayerRenderer
bool CCLayerTreeHost::updateLayers(CCTextureUpdater& updater)
{
if (!m_layerRendererInitialized) {
initializeLayerRenderer();
// If we couldn't initialize, then bail since we're returning to software mode.
if (!m_layerRendererInitialized)
return false;
}
if (m_contextLost) {
if (recreateContext() != RecreateSucceeded)
return false;
}
if (!rootLayer())
return true;
if (viewportSize().isEmpty())
return true;
updateLayers(rootLayer(), updater);
return true;
}
开发者ID:conioh,项目名称:os-design,代码行数:22,代码来源:CCLayerTreeHost.cpp
示例18: adoptPtr
PassOwnPtr<CCScrollUpdateSet> CCLayerTreeHostImpl::processScrollDeltas()
{
OwnPtr<CCScrollUpdateSet> scrollInfo = adoptPtr(new CCScrollUpdateSet());
// FIXME: track scrolls from layers other than the root
if (rootLayer() && !rootLayer()->scrollDelta().isZero()) {
CCLayerTreeHostCommon::ScrollUpdateInfo info;
info.layerId = rootLayer()->id();
info.scrollDelta = rootLayer()->scrollDelta();
scrollInfo->append(info);
rootLayer()->setScrollPosition(rootLayer()->scrollPosition() + rootLayer()->scrollDelta());
rootLayer()->setScrollDelta(IntSize());
}
return scrollInfo.release();
}
开发者ID:vizcount,项目名称:work,代码行数:15,代码来源:CCLayerTreeHostImpl.cpp
示例19: CACFLayerGetContext
void WKCACFLayer::setNeedsCommit()
{
CACFContextRef context = CACFLayerGetContext(rootLayer()->layer());
// The context might now be set yet. This happens if a property gets set
// before placing the layer in the tree. In this case we don't need to
// worry about remembering the context because we will when the layer is
// added to the tree.
if (context)
WKCACFContextFlusher::shared().addContext(context);
// Call notifySyncRequired(), which in this implementation plumbs through to
// call setRootLayerNeedsDisplay() on the WebView, which causes the CACFRenderer
// to render a frame.
if (m_owner)
m_owner->notifySyncRequired();
}
开发者ID:325116067,项目名称:semc-qsd8x50,代码行数:17,代码来源:WKCACFLayer.cpp
示例20: WKCACFViewSetContextUserData
void LayerTreeHostCAWin::platformInitialize()
{
m_view.adoptCF(WKCACFViewCreate(kWKCACFViewDrawingDestinationWindow));
WKCACFViewSetContextUserData(m_view.get(), static_cast<AbstractCACFLayerTreeHost*>(this));
WKCACFViewSetLayer(m_view.get(), rootLayer()->platformLayer());
WKCACFViewSetContextDidChangeCallback(m_view.get(), contextDidChangeCallback, this);
// Passing WS_DISABLED makes the window invisible to mouse events, which lets WKView's normal
// event handling mechanism work even when this window is obscuring the entire WKView HWND.
// Note that m_webPage->nativeWindow() is owned by the UI process, so this creates a cross-
// process window hierarchy (and thus implicitly attaches the input queues of the UI and web
// processes' main threads).
m_window = adoptPtr(new WKCACFViewWindow(m_view.get(), m_webPage->nativeWindow(), WS_DISABLED));
CGRect bounds = m_webPage->bounds();
WKCACFViewUpdate(m_view.get(), m_window->window(), &bounds);
m_layerTreeContext.window = m_window->window();
}
开发者ID:dzhshf,项目名称:WebKit,代码行数:19,代码来源:LayerTreeHostCAWin.cpp
注:本文中的rootLayer函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论