当前位置: 首页>>代码示例>>C++>>正文


C++ RenderEmbeddedObject::verticalBorderAndPaddingExtent方法代码示例

本文整理汇总了C++中RenderEmbeddedObject::verticalBorderAndPaddingExtent方法的典型用法代码示例。如果您正苦于以下问题:C++ RenderEmbeddedObject::verticalBorderAndPaddingExtent方法的具体用法?C++ RenderEmbeddedObject::verticalBorderAndPaddingExtent怎么用?C++ RenderEmbeddedObject::verticalBorderAndPaddingExtent使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在RenderEmbeddedObject的用法示例。


在下文中一共展示了RenderEmbeddedObject::verticalBorderAndPaddingExtent方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: updateWidget

void HTMLAppletElement::updateWidget(PluginCreationOption pluginCreationOption)
{
    setNeedsWidgetUpdate(false);
    // FIXME: This should ASSERT isFinishedParsingChildren() instead.
    if (!isFinishedParsingChildren())
        return;

#if PLATFORM(IOS)
    UNUSED_PARAM(pluginCreationOption);
#else
    // FIXME: It's sadness that we have this special case here.
    //        See http://trac.webkit.org/changeset/25128 and
    //        plugins/netscape-plugin-setwindow-size.html
    if (pluginCreationOption == CreateOnlyNonNetscapePlugins) {
        // Ensure updateWidget() is called again during layout to create the Netscape plug-in.
        setNeedsWidgetUpdate(true);
        return;
    }

    RenderEmbeddedObject* renderer = renderEmbeddedObject();

    LayoutUnit contentWidth = renderer->style().width().isFixed() ? LayoutUnit(renderer->style().width().value()) :
        renderer->width() - renderer->horizontalBorderAndPaddingExtent();
    LayoutUnit contentHeight = renderer->style().height().isFixed() ? LayoutUnit(renderer->style().height().value()) :
        renderer->height() - renderer->verticalBorderAndPaddingExtent();

    Vector<String> paramNames;
    Vector<String> paramValues;

    paramNames.append("code");
    paramValues.append(fastGetAttribute(codeAttr).string());

    const AtomicString& codeBase = fastGetAttribute(codebaseAttr);
    if (!codeBase.isNull()) {
        paramNames.append(ASCIILiteral("codeBase"));
        paramValues.append(codeBase.string());
    }

    const AtomicString& name = document().isHTMLDocument() ? getNameAttribute() : getIdAttribute();
    if (!name.isNull()) {
        paramNames.append("name");
        paramValues.append(name.string());
    }

    const AtomicString& archive = fastGetAttribute(archiveAttr);
    if (!archive.isNull()) {
        paramNames.append(ASCIILiteral("archive"));
        paramValues.append(archive.string());
    }

    paramNames.append(ASCIILiteral("baseURL"));
    paramValues.append(document().baseURL().string());

    const AtomicString& mayScript = fastGetAttribute(mayscriptAttr);
    if (!mayScript.isNull()) {
        paramNames.append(ASCIILiteral("mayScript"));
        paramValues.append(mayScript.string());
    }

    for (auto& param : childrenOfType<HTMLParamElement>(*this)) {
        if (param.name().isEmpty())
            continue;

        paramNames.append(param.name());
        paramValues.append(param.value());
    }

    Frame* frame = document().frame();
    ASSERT(frame);

    renderer->setWidget(frame->loader().subframeLoader().createJavaAppletWidget(roundedIntSize(LayoutSize(contentWidth, contentHeight)), *this, paramNames, paramValues));
#endif // !PLATFORM(IOS)
}
开发者ID:,项目名称:,代码行数:73,代码来源:


注:本文中的RenderEmbeddedObject::verticalBorderAndPaddingExtent方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。