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


Java CGraphicsDevice类代码示例

本文整理汇总了Java中sun.awt.CGraphicsDevice的典型用法代码示例。如果您正苦于以下问题:Java CGraphicsDevice类的具体用法?Java CGraphicsDevice怎么用?Java CGraphicsDevice使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


CGraphicsDevice类属于sun.awt包,在下文中一共展示了CGraphicsDevice类的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: CGLGraphicsConfig

import sun.awt.CGraphicsDevice; //导入依赖的package包/类
private CGLGraphicsConfig(CGraphicsDevice device, int pixfmt,
                          long configInfo, int maxTextureSize,
                          ContextCapabilities oglCaps) {
    super(device);

    this.pixfmt = pixfmt;
    this.pConfigInfo = configInfo;
    this.oglCaps = oglCaps;
    this.maxTextureSize = maxTextureSize;
    context = new OGLContext(OGLRenderQueue.getInstance(), this);

    // add a record to the Disposer so that we destroy the native
    // CGLGraphicsConfigInfo data when this object goes away
    Disposer.addRecord(disposerReferent,
                       new CGLGCDisposerRecord(pConfigInfo));
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:17,代码来源:CGLGraphicsConfig.java

示例2: getGraphicsDevice

import sun.awt.CGraphicsDevice; //导入依赖的package包/类
@Override
public GraphicsDevice getGraphicsDevice() {
    CGraphicsEnvironment ge = (CGraphicsEnvironment)GraphicsEnvironment.
                              getLocalGraphicsEnvironment();

    LWLightweightFramePeer peer = (LWLightweightFramePeer)getPeer();
    int scale = ((LightweightFrame)peer.getTarget()).getScaleFactor();

    Rectangle bounds = ((LightweightFrame)peer.getTarget()).getHostBounds();
    for (GraphicsDevice d : ge.getScreenDevices()) {
        if (d.getDefaultConfiguration().getBounds().intersects(bounds) &&
            ((CGraphicsDevice)d).getScaleFactor() == scale)
        {
            return d;
        }
    }
    // We shouldn't be here...
    return ge.getDefaultScreenDevice();
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:20,代码来源:CPlatformLWWindow.java

示例3: getGraphicsDevice

import sun.awt.CGraphicsDevice; //导入依赖的package包/类
@Override
public GraphicsDevice getGraphicsDevice() {
    CGraphicsEnvironment ge = (CGraphicsEnvironment)GraphicsEnvironment.
                              getLocalGraphicsEnvironment();

    LWLightweightFramePeer peer = (LWLightweightFramePeer)getPeer();
    int scale =(int) Math.round(((LightweightFrame)peer.getTarget())
                                                        .getScaleFactorX());

    Rectangle bounds = ((LightweightFrame)peer.getTarget()).getHostBounds();
    for (GraphicsDevice d : ge.getScreenDevices()) {
        if (d.getDefaultConfiguration().getBounds().intersects(bounds) &&
            ((CGraphicsDevice)d).getScaleFactor() == scale)
        {
            return d;
        }
    }
    // We shouldn't be here...
    return ge.getDefaultScreenDevice();
}
 
开发者ID:AdoptOpenJDK,项目名称:openjdk-jdk10,代码行数:21,代码来源:CPlatformLWWindow.java

示例4: CGLGraphicsConfig

import sun.awt.CGraphicsDevice; //导入依赖的package包/类
private CGLGraphicsConfig(CGraphicsDevice device, int pixfmt,
                          long configInfo, int maxTextureSize,
                          ContextCapabilities oglCaps) {
    super(device);

    this.pixfmt = pixfmt;
    this.pConfigInfo = configInfo;
    this.oglCaps = oglCaps;
    this.maxTextureSize = maxTextureSize;
    context = new OGLContext(OGLRenderQueue.getInstance(), this);
    refPConfigInfo(pConfigInfo);
    // add a record to the Disposer so that we destroy the native
    // CGLGraphicsConfigInfo data when this object goes away
    Disposer.addRecord(disposerReferent,
                       new CGLGCDisposerRecord(pConfigInfo));
}
 
开发者ID:JetBrains,项目名称:jdk8u_jdk,代码行数:17,代码来源:CGLGraphicsConfig.java

示例5: CGLGraphicsConfig

import sun.awt.CGraphicsDevice; //导入依赖的package包/类
protected CGLGraphicsConfig(CGraphicsDevice device, int pixfmt,
                            long configInfo, ContextCapabilities oglCaps)
{
    super(device);

    this.pixfmt = pixfmt;
    this.pConfigInfo = configInfo;
    this.oglCaps = oglCaps;
    context = new OGLContext(OGLRenderQueue.getInstance(), this);

    // add a record to the Disposer so that we destroy the native
    // CGLGraphicsConfigInfo data when this object goes away
    Disposer.addRecord(disposerReferent,
                       new CGLGCDisposerRecord(pConfigInfo));

    // 7200762: Workaround a deadlock by caching the value
    //          A fix for JDK 8 will remove the workaround
    this.cachedMaxTextureSize = _getMaxTextureSize();
}
 
开发者ID:greghaskins,项目名称:openjdk-jdk7u-jdk,代码行数:20,代码来源:CGLGraphicsConfig.java

示例6: CGLGraphicsConfig

import sun.awt.CGraphicsDevice; //导入依赖的package包/类
private CGLGraphicsConfig(CGraphicsDevice device, int pixfmt,
                            long configInfo, ContextCapabilities oglCaps)
{
    super(device);

    this.pixfmt = pixfmt;
    this.pConfigInfo = configInfo;
    this.oglCaps = oglCaps;
    context = new OGLContext(OGLRenderQueue.getInstance(), this);

    // add a record to the Disposer so that we destroy the native
    // CGLGraphicsConfigInfo data when this object goes away
    Disposer.addRecord(disposerReferent,
                       new CGLGCDisposerRecord(pConfigInfo));
}
 
开发者ID:RedlineResearch,项目名称:OLD-OpenJDK8,代码行数:16,代码来源:CGLGraphicsConfig.java

示例7: getConfig

import sun.awt.CGraphicsDevice; //导入依赖的package包/类
public static CGLGraphicsConfig getConfig(CGraphicsDevice device,
                                          int pixfmt)
{
    if (!cglAvailable) {
        return null;
    }

    long cfginfo = 0;
    final String ids[] = new String[1];
    OGLRenderQueue rq = OGLRenderQueue.getInstance();
    rq.lock();
    try {
        // getCGLConfigInfo() creates and destroys temporary
        // surfaces/contexts, so we should first invalidate the current
        // Java-level context and flush the queue...
        OGLContext.invalidateCurrentContext();

        cfginfo = getCGLConfigInfo(device.getCGDisplayID(), pixfmt,
                                   kOpenGLSwapInterval);
        if (cfginfo != 0L) {
            OGLContext.setScratchSurface(cfginfo);
            rq.flushAndInvokeNow(new Runnable() {
                public void run() {
                    ids[0] = OGLContext.getOGLIdString();
                }
            });
        }
    } finally {
        rq.unlock();
    }
    if (cfginfo == 0) {
        return null;
    }

    int oglCaps = getOGLCapabilities(cfginfo);
    ContextCapabilities caps = new OGLContextCaps(oglCaps, ids[0]);

    return new CGLGraphicsConfig(device, pixfmt, cfginfo, caps);
}
 
开发者ID:RedlineResearch,项目名称:OLD-OpenJDK8,代码行数:40,代码来源:CGLGraphicsConfig.java

示例8: getConfig

import sun.awt.CGraphicsDevice; //导入依赖的package包/类
public static CGLGraphicsConfig getConfig(CGraphicsDevice device,
                                          int pixfmt)
{
    if (!cglAvailable) {
        return null;
    }

    long cfginfo = 0;
    int textureSize = 0;
    final String ids[] = new String[1];
    OGLRenderQueue rq = OGLRenderQueue.getInstance();
    rq.lock();
    try {
        // getCGLConfigInfo() creates and destroys temporary
        // surfaces/contexts, so we should first invalidate the current
        // Java-level context and flush the queue...
        OGLContext.invalidateCurrentContext();

        cfginfo = getCGLConfigInfo(device.getCGDisplayID(), pixfmt,
                                   kOpenGLSwapInterval);
        if (cfginfo != 0L) {
            textureSize = nativeGetMaxTextureSize();
            // 7160609: GL still fails to create a square texture of this
            // size. Half should be safe enough.
            // Explicitly not support a texture more than 2^14, see 8010999.
            textureSize = textureSize <= 16384 ? textureSize / 2 : 8192;
            OGLContext.setScratchSurface(cfginfo);
            rq.flushAndInvokeNow(() -> {
                ids[0] = OGLContext.getOGLIdString();
            });
        }
    } finally {
        rq.unlock();
    }
    if (cfginfo == 0) {
        return null;
    }

    int oglCaps = getOGLCapabilities(cfginfo);
    ContextCapabilities caps = new OGLContextCaps(oglCaps, ids[0]);
    return new CGLGraphicsConfig(device, pixfmt, cfginfo, textureSize, caps);
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:43,代码来源:CGLGraphicsConfig.java

示例9: CRobot

import sun.awt.CGraphicsDevice; //导入依赖的package包/类
/**
 * Uses the given GraphicsDevice as the coordinate system for subsequent
 * coordinate calls.
 */
public CRobot(Robot r, CGraphicsDevice d) {
    fDevice = d;
    initRobot();
}
 
开发者ID:SunburstApps,项目名称:OpenJSharp,代码行数:9,代码来源:CRobot.java

示例10: getConfig

import sun.awt.CGraphicsDevice; //导入依赖的package包/类
public static CGLGraphicsConfig getConfig(CGraphicsDevice device,
                                          int pixfmt)
{
    if (!cglAvailable) {
        return null;
    }

    // Move CGLGraphicsConfig creation code to AppKit thread in order to avoid the
    // following deadlock:
    // 1) CGLGraphicsConfig.getCGLConfigInfo (called from EDT) takes RenderQueue.lock
    // 2) CGLLayer.drawInCGLContext is invoked on AppKit thread and
    //    blocked on RenderQueue.lock
    // 1) invokes native block on AppKit and wait

    Callable<CGLGraphicsConfig> command = () -> {
        long cfginfo;
        int textureSize = 0;
        final String ids[] = new String[1];
        OGLRenderQueue rq = OGLRenderQueue.getInstance();
        rq.lock();
        try {
            // getCGLConfigInfo() creates and destroys temporary
            // surfaces/contexts, so we should first invalidate the current
            // Java-level context and flush the queue...
            OGLContext.invalidateCurrentContext();

            cfginfo = getCGLConfigInfo(device.getCGDisplayID(), pixfmt,
                    kOpenGLSwapInterval);
            if (cfginfo != 0L) {
                textureSize = nativeGetMaxTextureSize();
                // Looks like it is outdated info, moreover on OSX in 4K resolution
                // reducing max size of the texture leads to performance degradation
                // in scrolling
                // // 7160609: GL still fails to create a square texture of this
                // // size. Half should be safe enough.
                // // Explicitly not support a texture more than 2^14, see 8010999.
                // // textureSize = textureSize <= 16384 ? textureSize / 2 : 8192;
                OGLContext.setScratchSurface(cfginfo);
                rq.flushAndInvokeNow(() -> ids[0] = OGLContext.getOGLIdString());
            }
        } finally {
            rq.unlock();
        }
        if (cfginfo == 0) {
            return null;
        }

        int oglCaps = getOGLCapabilities(cfginfo);
        ContextCapabilities caps = new OGLContextCaps(oglCaps, ids[0]);
        return new CGLGraphicsConfig(
                device, pixfmt, cfginfo, textureSize, caps);
    };

    return java.security.AccessController.doPrivileged(
            (PrivilegedAction<CGLGraphicsConfig>) () -> {
                try {
                    return CThreading.executeOnAppKit(command);
                } catch (Throwable throwable) {
                    throw new AWTError(throwable.getMessage());
                }
            });
}
 
开发者ID:JetBrains,项目名称:jdk8u_jdk,代码行数:63,代码来源:CGLGraphicsConfig.java


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