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


C++ ContextPtr::GetSurface方法代码示例

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


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

示例1: eglSwapInterval

// Set the swap interval for the current draw surface.
EGLBoolean eglSwapInterval(EGLDisplay dpy, EGLint interval) {
  EGL_API_ENTRY("%p, %d", dpy, interval);
  EglDisplayImpl* display = EglDisplayImpl::GetDisplay(dpy);
  if (display == NULL || display->IsInitialized() == false) {
    SetError(EGL_BAD_DISPLAY);
    return EGL_FALSE;
  }
  ContextPtr context = GetContext();
  if (context == NULL) {
    SetError(EGL_BAD_CONTEXT);
    return EGL_FALSE;
  }
  if (context->GetSurface() == NULL) {
    SetError(EGL_BAD_SURFACE);
    return EGL_FALSE;
  }
  interval = ClampValue<EGLint>(interval, EglConfigImpl::kMinSwapInterval,
                                EglConfigImpl::kMaxSwapInterval);
  context->GetSurface()->SetSwapInterval(interval);
  return EGL_TRUE;
}
开发者ID:epowers,项目名称:arc,代码行数:22,代码来源:api_entries.cpp

示例2: eglGetCurrentSurface

// Get the surface associated with the current rendering context.
EGLSurface eglGetCurrentSurface(EGLint readdraw) {
  EGL_API_ENTRY("0x%x", readdraw);
  if (readdraw != EGL_READ && readdraw != EGL_DRAW) {
    SetError(EGL_BAD_PARAMETER);
    return EGL_NO_SURFACE;
  }
  ContextPtr context = GetContext();
  if (context == NULL) {
    return EGL_NO_SURFACE;
  }
  SurfacePtr surface = context->GetSurface();
  if (surface == NULL) {
    return EGL_NO_SURFACE;
  }
  return surface->GetKey();
}
开发者ID:epowers,项目名称:arc,代码行数:17,代码来源:api_entries.cpp

示例3: eglQueryContext

// Get the attribute value for the specified rendering context.
EGLBoolean eglQueryContext(EGLDisplay dpy, EGLContext ctx, EGLint attribute,
                           EGLint* value) {
  EGL_API_ENTRY("%p, %p, 0x%x, %p", dpy, ctx, attribute, value);
  EglDisplayImpl* display = EglDisplayImpl::GetDisplay(dpy);
  if (display == NULL || display->IsInitialized() == false) {
    SetError(EGL_BAD_DISPLAY);
    return EGL_FALSE;
  }
  ContextPtr context = display->GetContexts().Get(ctx);
  if (context == NULL) {
    SetError(EGL_BAD_CONTEXT);
    return EGL_FALSE;
  }

  switch (attribute) {
    case EGL_CONFIG_ID:
      return display->GetConfigAttribute(context->config, attribute, value);
    case EGL_CONTEXT_CLIENT_TYPE:
      *value = EGL_OPENGL_ES_API;
      return EGL_TRUE;
    case EGL_CONTEXT_CLIENT_VERSION:
      *value = context->GetVersion();
      return EGL_TRUE;
    case EGL_RENDER_BUFFER:
      if (context->GetSurface() == NULL)
        *value = EGL_NONE;
      else
        *value = EGL_BACK_BUFFER;  // single buffer not supported
      return EGL_TRUE;
    case EGL_ARC_UNDERLYING_CONTEXT: {
      NativeContext* native = context->GetNativeContext();
      *value = reinterpret_cast<EGLint>(Native::GetUnderlyingContext(native));
      return EGL_TRUE;
    }
    default:
      ALOGE("Unsupported attribute: %x", attribute);
      SetError(EGL_BAD_ATTRIBUTE);
      return EGL_FALSE;
  }
}
开发者ID:epowers,项目名称:arc,代码行数:41,代码来源:api_entries.cpp


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