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


C++ SurfacePtr::GetSurfaceType方法代码示例

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


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

示例1: eglBindTexImage

// Retarget the current texture to the specified surface buffer.
EGLBoolean eglBindTexImage(EGLDisplay dpy, EGLSurface surface, EGLint buffer) {
  EGL_API_ENTRY("%p, %p, %d", dpy, surface, buffer);
  EglDisplayImpl* display = EglDisplayImpl::GetDisplay(dpy);
  if (display == NULL || display->IsInitialized() == false) {
    SetError(EGL_BAD_DISPLAY);
    return EGL_FALSE;
  }
  SurfacePtr s = display->GetSurfaces().Get(surface);
  if (s == NULL) {
    SetError(EGL_BAD_SURFACE);
    return EGL_FALSE;
  }
  if (buffer != EGL_BACK_BUFFER) {
    SetError(EGL_BAD_PARAMETER);
    return EGL_FALSE;
  }
  if (s->GetTextureFormat() == EGL_NO_TEXTURE) {
    SetError(EGL_BAD_MATCH);
    return EGL_FALSE;
  }
  if (!(s->GetSurfaceType() & EGL_PBUFFER_BIT)) {
    SetError(EGL_BAD_SURFACE);
    return EGL_FALSE;
  }
  s->BindTexImage();
  return EGL_TRUE;
}
开发者ID:epowers,项目名称:arc,代码行数:28,代码来源:api_entries.cpp

示例2: eglQuerySurface

// Get the attribute value for the specified surface.
EGLBoolean eglQuerySurface(EGLDisplay dpy, EGLSurface surface, EGLint attribute,
                           EGLint* value) {
  EGL_API_ENTRY("%p, %p, 0x%x, %p", dpy, surface, attribute, value);
  EglDisplayImpl* display = EglDisplayImpl::GetDisplay(dpy);
  if (display == NULL || display->IsInitialized() == false) {
    SetError(EGL_BAD_DISPLAY);
    return EGL_FALSE;
  }
  SurfacePtr s = display->GetSurfaces().Get(surface);
  if (s == NULL) {
    SetError(EGL_BAD_SURFACE);
    return EGL_FALSE;
  }

  switch (attribute) {
    case EGL_CONFIG_ID:
      return display->GetConfigAttribute(s->config, EGL_CONFIG_ID, value);
    case EGL_WIDTH:
      *value = s->GetWidth();
      return EGL_TRUE;
    case EGL_HEIGHT:
      *value = s->GetHeight();
      return EGL_TRUE;
    case EGL_TEXTURE_FORMAT:
      *value = s->GetTextureFormat();
      return EGL_TRUE;
    case EGL_TEXTURE_TARGET:
      *value = s->GetTextureTarget();
      return EGL_TRUE;
    case EGL_SWAP_BEHAVIOR:
      *value = EGL_BUFFER_DESTROYED;
      return EGL_TRUE;
    case EGL_LARGEST_PBUFFER:
      // Not modified for a window or pixmap surface.
      // Ignore it when creating a pbuffer surface.
      if (s->GetSurfaceType() & EGL_PBUFFER_BIT) {
        *value = EGL_FALSE;
      }
      return EGL_TRUE;
    default:
      LOG_ALWAYS_FATAL("Unsupported attribute: %x", attribute);
      SetError(EGL_BAD_ATTRIBUTE);
      return EGL_FALSE;
  }
}
开发者ID:epowers,项目名称:arc,代码行数:46,代码来源:api_entries.cpp


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