102f4aeb0Sopenharmony_ci<?xml version="1.0" encoding="UTF-8"?> 202f4aeb0Sopenharmony_ci<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "xhtml1-transitional.dtd"> 302f4aeb0Sopenharmony_ci<!-- saved from url=(0013)about:internet --> 402f4aeb0Sopenharmony_ci<?xml-stylesheet type="text/xsl" href="mathml.xsl"?><html xmlns="http://www.w3.org/1999/xhtml" xmlns:pref="http://www.w3.org/2002/Math/preference" xmlns:xlink="http://www.w3.org/1999/xlink" pref:renderer="mathplayer-dl"> 502f4aeb0Sopenharmony_ci <head> 602f4aeb0Sopenharmony_ci <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 702f4aeb0Sopenharmony_ci <style xmlns="" type="text/css"> 802f4aeb0Sopenharmony_ci /* This style sets a margin around the entire page */ 902f4aeb0Sopenharmony_ci html, body { 1002f4aeb0Sopenharmony_ci margin: 10px; 1102f4aeb0Sopenharmony_ci } 1202f4aeb0Sopenharmony_ci 1302f4aeb0Sopenharmony_ci p { 1402f4aeb0Sopenharmony_ci font: normal 16px verdana, sans-serif; 1502f4aeb0Sopenharmony_ci margin: 0; 1602f4aeb0Sopenharmony_ci padding-bottom:12px; 1702f4aeb0Sopenharmony_ci } 1802f4aeb0Sopenharmony_ci 1902f4aeb0Sopenharmony_ci h1 { 2002f4aeb0Sopenharmony_ci font: bold 25px verdana, sans-serif; 2102f4aeb0Sopenharmony_ci margin-top: 0; 2202f4aeb0Sopenharmony_ci margin-bottom: 3px; 2302f4aeb0Sopenharmony_ci padding-top: 0; 2402f4aeb0Sopenharmony_ci padding-bottom: 0; 2502f4aeb0Sopenharmony_ci } 2602f4aeb0Sopenharmony_ci 2702f4aeb0Sopenharmony_ci h2 { 2802f4aeb0Sopenharmony_ci font: bold 19px verdana, sans-serif; 2902f4aeb0Sopenharmony_ci margin-top: 28px; 3002f4aeb0Sopenharmony_ci margin-bottom: 3px; 3102f4aeb0Sopenharmony_ci padding-top: 0; 3202f4aeb0Sopenharmony_ci padding-bottom: 0; 3302f4aeb0Sopenharmony_ci } 3402f4aeb0Sopenharmony_ci 3502f4aeb0Sopenharmony_ci h3 { 3602f4aeb0Sopenharmony_ci font: bold 19px verdana, sans-serif !important; 3702f4aeb0Sopenharmony_ci margin-top: 28px; 3802f4aeb0Sopenharmony_ci margin-bottom: 3px; 3902f4aeb0Sopenharmony_ci padding-top: 0; 4002f4aeb0Sopenharmony_ci padding-bottom: 0; 4102f4aeb0Sopenharmony_ci } 4202f4aeb0Sopenharmony_ci 4302f4aeb0Sopenharmony_ci li { 4402f4aeb0Sopenharmony_ci font: normal 16px verdana, sans-serif; 4502f4aeb0Sopenharmony_ci margin-top: 0; 4602f4aeb0Sopenharmony_ci margin-bottom: 18px; 4702f4aeb0Sopenharmony_ci padding-top: 0; 4802f4aeb0Sopenharmony_ci padding-bottom: 0; 4902f4aeb0Sopenharmony_ci } 5002f4aeb0Sopenharmony_ci 5102f4aeb0Sopenharmony_ci .pdparam { 5202f4aeb0Sopenharmony_ci font: italic 16px verdana, sans-serif; 5302f4aeb0Sopenharmony_ci } 5402f4aeb0Sopenharmony_ci 5502f4aeb0Sopenharmony_ci .term { 5602f4aeb0Sopenharmony_ci font: italic 16px verdana, sans-serif; 5702f4aeb0Sopenharmony_ci font-weight: normal; 5802f4aeb0Sopenharmony_ci } 5902f4aeb0Sopenharmony_ci 6002f4aeb0Sopenharmony_ci .type { 6102f4aeb0Sopenharmony_ci font: normal 16px verdana, sans-serif !important; 6202f4aeb0Sopenharmony_ci } 6302f4aeb0Sopenharmony_ci 6402f4aeb0Sopenharmony_ci .parameter { 6502f4aeb0Sopenharmony_ci font-style: italic; 6602f4aeb0Sopenharmony_ci } 6702f4aeb0Sopenharmony_ci 6802f4aeb0Sopenharmony_ci a:link, a:visited { 6902f4aeb0Sopenharmony_ci color: blue; 7002f4aeb0Sopenharmony_ci text-decoration: none; 7102f4aeb0Sopenharmony_ci font: normal 16px; 7202f4aeb0Sopenharmony_ci } 7302f4aeb0Sopenharmony_ci 7402f4aeb0Sopenharmony_ci a:hover { 7502f4aeb0Sopenharmony_ci background-color: #FFFF99; 7602f4aeb0Sopenharmony_ci font: normal 16px; 7702f4aeb0Sopenharmony_ci } 7802f4aeb0Sopenharmony_ci 7902f4aeb0Sopenharmony_ci div.funcsynopsis { 8002f4aeb0Sopenharmony_ci text-align: left; 8102f4aeb0Sopenharmony_ci background-color: #e6e6e6; 8202f4aeb0Sopenharmony_ci font: normal 16px verdana, sans-serif; 8302f4aeb0Sopenharmony_ci padding-top: 10px; 8402f4aeb0Sopenharmony_ci padding-bottom: 10px; 8502f4aeb0Sopenharmony_ci } 8602f4aeb0Sopenharmony_ci 8702f4aeb0Sopenharmony_ci div.funcsynopsis table { 8802f4aeb0Sopenharmony_ci border-collapse: separate; 8902f4aeb0Sopenharmony_ci font: normal 16px verdana, sans-serif; 9002f4aeb0Sopenharmony_ci } 9102f4aeb0Sopenharmony_ci 9202f4aeb0Sopenharmony_ci div.funcsynopsis td { 9302f4aeb0Sopenharmony_ci background-color: #e6e6e6; 9402f4aeb0Sopenharmony_ci border: 0 solid #000; 9502f4aeb0Sopenharmony_ci padding: 1px; 9602f4aeb0Sopenharmony_ci font: normal 16px verdana, sans-serif; 9702f4aeb0Sopenharmony_ci } 9802f4aeb0Sopenharmony_ci 9902f4aeb0Sopenharmony_ci div.refsect1 { 10002f4aeb0Sopenharmony_ci font-family: verdana, sans-serif; 10102f4aeb0Sopenharmony_ci font-size: 16px; 10202f4aeb0Sopenharmony_ci } 10302f4aeb0Sopenharmony_ci 10402f4aeb0Sopenharmony_ci code.constant { 10502f4aeb0Sopenharmony_ci font: normal 16px courier new, monospace !important; 10602f4aeb0Sopenharmony_ci } 10702f4aeb0Sopenharmony_ci 10802f4aeb0Sopenharmony_ci span.errorname { 10902f4aeb0Sopenharmony_ci font: normal 16px verdana, sans-serif !important; 11002f4aeb0Sopenharmony_ci } 11102f4aeb0Sopenharmony_ci 11202f4aeb0Sopenharmony_ci code.function { 11302f4aeb0Sopenharmony_ci font: bold 16px verdana, sans-serif !important; 11402f4aeb0Sopenharmony_ci } 11502f4aeb0Sopenharmony_ci 11602f4aeb0Sopenharmony_ci b.fsfunc { 11702f4aeb0Sopenharmony_ci font: bold 16px verdana, sans-serif !important; 11802f4aeb0Sopenharmony_ci } 11902f4aeb0Sopenharmony_ci 12002f4aeb0Sopenharmony_ci code.varname { 12102f4aeb0Sopenharmony_ci font: italic 16px verdana, sans-serif; 12202f4aeb0Sopenharmony_ci } 12302f4aeb0Sopenharmony_ci 12402f4aeb0Sopenharmony_ci code.replaceable { 12502f4aeb0Sopenharmony_ci font: italic 16px courier new, monospace; 12602f4aeb0Sopenharmony_ci } 12702f4aeb0Sopenharmony_ci 12802f4aeb0Sopenharmony_ci code.funcdef { 12902f4aeb0Sopenharmony_ci font: normal 16px verdana, sans-serif !important; 13002f4aeb0Sopenharmony_ci } 13102f4aeb0Sopenharmony_ci 13202f4aeb0Sopenharmony_ci .citerefentry { 13302f4aeb0Sopenharmony_ci font: normal 16px verdana, sans-serif !important; 13402f4aeb0Sopenharmony_ci } 13502f4aeb0Sopenharmony_ci 13602f4aeb0Sopenharmony_ci .parameter { 13702f4aeb0Sopenharmony_ci font-style: italic; 13802f4aeb0Sopenharmony_ci } 13902f4aeb0Sopenharmony_ci 14002f4aeb0Sopenharmony_ci code.fsfunc { 14102f4aeb0Sopenharmony_ci font: normal 16px verdana, sans-serif !important; 14202f4aeb0Sopenharmony_ci } 14302f4aeb0Sopenharmony_ci 14402f4aeb0Sopenharmony_ci /* PARAMETER: This style controls spacing between the terms in Parameter section */ 14502f4aeb0Sopenharmony_ci dt { 14602f4aeb0Sopenharmony_ci margin-top: 15px; 14702f4aeb0Sopenharmony_ci } 14802f4aeb0Sopenharmony_ci 14902f4aeb0Sopenharmony_ci /* TABLES: These styles apply to all tables OTHER than the Synopsis and Example tables */ 15002f4aeb0Sopenharmony_ci div.refsect1 table { 15102f4aeb0Sopenharmony_ci width: 100%; 15202f4aeb0Sopenharmony_ci margin-top: 10px; 15302f4aeb0Sopenharmony_ci background-color: #FFF; 15402f4aeb0Sopenharmony_ci border-collapse: collapse; 15502f4aeb0Sopenharmony_ci border-color: #000; 15602f4aeb0Sopenharmony_ci border-width: 1px; 15702f4aeb0Sopenharmony_ci font: normal 16px verdana, sans-serif; 15802f4aeb0Sopenharmony_ci } 15902f4aeb0Sopenharmony_ci 16002f4aeb0Sopenharmony_ci div.refsect1 th { 16102f4aeb0Sopenharmony_ci border-collapse: collapse; 16202f4aeb0Sopenharmony_ci border-color: #000; 16302f4aeb0Sopenharmony_ci border-width: 1px; 16402f4aeb0Sopenharmony_ci font: bold 16px verdana, sans-serif; 16502f4aeb0Sopenharmony_ci } 16602f4aeb0Sopenharmony_ci 16702f4aeb0Sopenharmony_ci div.refsect1 td { 16802f4aeb0Sopenharmony_ci background-color: #FFF; 16902f4aeb0Sopenharmony_ci padding: 5px; 17002f4aeb0Sopenharmony_ci vertical-align: text-top; 17102f4aeb0Sopenharmony_ci border-collapse: collapse; 17202f4aeb0Sopenharmony_ci border-color: #000; 17302f4aeb0Sopenharmony_ci border-width: 1px; 17402f4aeb0Sopenharmony_ci font: normal 16px verdana, sans-serif; 17502f4aeb0Sopenharmony_ci } 17602f4aeb0Sopenharmony_ci 17702f4aeb0Sopenharmony_ci div.refsect1 p{ 17802f4aeb0Sopenharmony_ci font: normal 16px verdana, sans-serif; 17902f4aeb0Sopenharmony_ci margin-top: 8px; 18002f4aeb0Sopenharmony_ci margin-bottom: 8px; 18102f4aeb0Sopenharmony_ci padding-top: 0; 18202f4aeb0Sopenharmony_ci padding-bottom: 0; 18302f4aeb0Sopenharmony_ci } 18402f4aeb0Sopenharmony_ci 18502f4aeb0Sopenharmony_ci 18602f4aeb0Sopenharmony_ci /* EXAMPLE: These styles apply only to the Example section */ 18702f4aeb0Sopenharmony_ci div.refsect2 { 18802f4aeb0Sopenharmony_ci font: normal 16px courier new, monospace !important; 18902f4aeb0Sopenharmony_ci } 19002f4aeb0Sopenharmony_ci 19102f4aeb0Sopenharmony_ci div.refsect2 table { 19202f4aeb0Sopenharmony_ci margin-top: 0; 19302f4aeb0Sopenharmony_ci background-color: #e6e6e6; 19402f4aeb0Sopenharmony_ci width: 100%; 19502f4aeb0Sopenharmony_ci border: 0 solid #000; 19602f4aeb0Sopenharmony_ci padding: 2px; 19702f4aeb0Sopenharmony_ci font: normal 16px courier new, monospace !important; 19802f4aeb0Sopenharmony_ci } 19902f4aeb0Sopenharmony_ci 20002f4aeb0Sopenharmony_ci div.refsect2 td { 20102f4aeb0Sopenharmony_ci background-color: #e6e6e6; 20202f4aeb0Sopenharmony_ci font: normal 16px courier new, monospace !important; 20302f4aeb0Sopenharmony_ci white-space:pre; 20402f4aeb0Sopenharmony_ci } 20502f4aeb0Sopenharmony_ci 20602f4aeb0Sopenharmony_ci /* COPYRIGHT: This style formats the text of the copyright statement at the bottom of the page */ 20702f4aeb0Sopenharmony_ci div.refsect3 { 20802f4aeb0Sopenharmony_ci font: normal 11px verdana, sans-serif; 20902f4aeb0Sopenharmony_ci margin-top: 50px; 21002f4aeb0Sopenharmony_ci margin-bottom: 20px; 21102f4aeb0Sopenharmony_ci padding-top: 0; 21202f4aeb0Sopenharmony_ci padding-bottom: 0; 21302f4aeb0Sopenharmony_ci } 21402f4aeb0Sopenharmony_ci 21502f4aeb0Sopenharmony_ci</style> 21602f4aeb0Sopenharmony_ci <title>eglCreatePbufferFromClientBuffer</title> 21702f4aeb0Sopenharmony_ci <meta name="generator" content="DocBook XSL Stylesheets V1.78.1" /> 21802f4aeb0Sopenharmony_ci </head> 21902f4aeb0Sopenharmony_ci <body> 22002f4aeb0Sopenharmony_ci <div class="refentry"> 22102f4aeb0Sopenharmony_ci <a id="eglCreatePbufferFromClientBuffer"></a> 22202f4aeb0Sopenharmony_ci <div class="titlepage"></div> 22302f4aeb0Sopenharmony_ci <div xmlns="" class="refnamediv"> 22402f4aeb0Sopenharmony_ci <h1>eglCreatePbufferFromClientBuffer</h1> 22502f4aeb0Sopenharmony_ci <p> 22602f4aeb0Sopenharmony_ci create a new <acronym xmlns="http://www.w3.org/1999/xhtml" class="acronym">EGL</acronym> pixel buffer surface 22702f4aeb0Sopenharmony_ci bound to an OpenVG image 22802f4aeb0Sopenharmony_ci </p> 22902f4aeb0Sopenharmony_ci </div> 23002f4aeb0Sopenharmony_ci <div class="refsynopsisdiv"> 23102f4aeb0Sopenharmony_ci <h2>C Specification</h2> 23202f4aeb0Sopenharmony_ci <div class="funcsynopsis"> 23302f4aeb0Sopenharmony_ci <table xmlns="" border="0" summary="Function synopsis" cellspacing="0" cellpadding="0"> 23402f4aeb0Sopenharmony_ci <tr valign="bottom"> 23502f4aeb0Sopenharmony_ci <td> 23602f4aeb0Sopenharmony_ci <code xmlns="http://www.w3.org/1999/xhtml" class="funcdef">EGLSurface <strong class="fsfunc">eglCreatePbufferFromClientBuffer</strong>(</code> 23702f4aeb0Sopenharmony_ci <td>EGLDisplay <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">display</var>, </td> 23802f4aeb0Sopenharmony_ci </td> 23902f4aeb0Sopenharmony_ci </tr> 24002f4aeb0Sopenharmony_ci <tr valign="top"> 24102f4aeb0Sopenharmony_ci <td> </td> 24202f4aeb0Sopenharmony_ci <td>EGLenum <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">buftype</var>, </td> 24302f4aeb0Sopenharmony_ci </tr> 24402f4aeb0Sopenharmony_ci <tr valign="top"> 24502f4aeb0Sopenharmony_ci <td> </td> 24602f4aeb0Sopenharmony_ci <td>EGLClientBuffer <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">buffer</var>, </td> 24702f4aeb0Sopenharmony_ci </tr> 24802f4aeb0Sopenharmony_ci <tr valign="top"> 24902f4aeb0Sopenharmony_ci <td> </td> 25002f4aeb0Sopenharmony_ci <td>EGLConfig <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">config</var>, </td> 25102f4aeb0Sopenharmony_ci </tr> 25202f4aeb0Sopenharmony_ci <tr valign="top"> 25302f4aeb0Sopenharmony_ci <td> </td> 25402f4aeb0Sopenharmony_ci <td>EGLint const * <var xmlns="http://www.w3.org/1999/xhtml" class="pdparam">attrib_list</var><code>)</code></td> 25502f4aeb0Sopenharmony_ci </tr> 25602f4aeb0Sopenharmony_ci </table> 25702f4aeb0Sopenharmony_ci </div> 25802f4aeb0Sopenharmony_ci </div> 25902f4aeb0Sopenharmony_ci <div class="refsect1"> 26002f4aeb0Sopenharmony_ci <a id="parameters"></a> 26102f4aeb0Sopenharmony_ci <h2>Parameters</h2> 26202f4aeb0Sopenharmony_ci <div class="variablelist"> 26302f4aeb0Sopenharmony_ci <dl class="variablelist"> 26402f4aeb0Sopenharmony_ci <dt> 26502f4aeb0Sopenharmony_ci <span class="term"> 26602f4aeb0Sopenharmony_ci <em class="parameter"> 26702f4aeb0Sopenharmony_ci <code>display</code> 26802f4aeb0Sopenharmony_ci </em> 26902f4aeb0Sopenharmony_ci </span> 27002f4aeb0Sopenharmony_ci </dt> 27102f4aeb0Sopenharmony_ci <dd> 27202f4aeb0Sopenharmony_ci <p>Specifies the EGL display connection.</p> 27302f4aeb0Sopenharmony_ci </dd> 27402f4aeb0Sopenharmony_ci <dt> 27502f4aeb0Sopenharmony_ci <span class="term"> 27602f4aeb0Sopenharmony_ci <em class="parameter"> 27702f4aeb0Sopenharmony_ci <code>buftype</code> 27802f4aeb0Sopenharmony_ci </em> 27902f4aeb0Sopenharmony_ci </span> 28002f4aeb0Sopenharmony_ci </dt> 28102f4aeb0Sopenharmony_ci <dd> 28202f4aeb0Sopenharmony_ci <p> 28302f4aeb0Sopenharmony_ci Specifies the type of client API buffer to be bound. 28402f4aeb0Sopenharmony_ci Must be <code class="constant">EGL_OPENVG_IMAGE</code>, 28502f4aeb0Sopenharmony_ci corresponding to an OpenVG <span class="type">VGImage</span> 28602f4aeb0Sopenharmony_ci buffer. 28702f4aeb0Sopenharmony_ci </p> 28802f4aeb0Sopenharmony_ci </dd> 28902f4aeb0Sopenharmony_ci <dt> 29002f4aeb0Sopenharmony_ci <span class="term"> 29102f4aeb0Sopenharmony_ci <em class="parameter"> 29202f4aeb0Sopenharmony_ci <code>buffer</code> 29302f4aeb0Sopenharmony_ci </em> 29402f4aeb0Sopenharmony_ci </span> 29502f4aeb0Sopenharmony_ci </dt> 29602f4aeb0Sopenharmony_ci <dd> 29702f4aeb0Sopenharmony_ci <p> 29802f4aeb0Sopenharmony_ci Specifies the OpenVG <span class="type">VGImage</span> handle of 29902f4aeb0Sopenharmony_ci the buffer to be bound. 30002f4aeb0Sopenharmony_ci </p> 30102f4aeb0Sopenharmony_ci </dd> 30202f4aeb0Sopenharmony_ci <dt> 30302f4aeb0Sopenharmony_ci <span class="term"> 30402f4aeb0Sopenharmony_ci <em class="parameter"> 30502f4aeb0Sopenharmony_ci <code>config</code> 30602f4aeb0Sopenharmony_ci </em> 30702f4aeb0Sopenharmony_ci </span> 30802f4aeb0Sopenharmony_ci </dt> 30902f4aeb0Sopenharmony_ci <dd> 31002f4aeb0Sopenharmony_ci <p> 31102f4aeb0Sopenharmony_ci Specifies the EGL frame buffer configuration that defines the 31202f4aeb0Sopenharmony_ci frame buffer resource available to the surface. 31302f4aeb0Sopenharmony_ci </p> 31402f4aeb0Sopenharmony_ci </dd> 31502f4aeb0Sopenharmony_ci <dt> 31602f4aeb0Sopenharmony_ci <span class="term"> 31702f4aeb0Sopenharmony_ci <em class="parameter"> 31802f4aeb0Sopenharmony_ci <code>attrib_list</code> 31902f4aeb0Sopenharmony_ci </em> 32002f4aeb0Sopenharmony_ci </span> 32102f4aeb0Sopenharmony_ci </dt> 32202f4aeb0Sopenharmony_ci <dd> 32302f4aeb0Sopenharmony_ci <p> 32402f4aeb0Sopenharmony_ci Specifies pixel buffer surface attributes. 32502f4aeb0Sopenharmony_ci May be <code class="constant">NULL</code> or empty 32602f4aeb0Sopenharmony_ci (first attribute is <code class="constant">EGL_NONE</code>). 32702f4aeb0Sopenharmony_ci </p> 32802f4aeb0Sopenharmony_ci </dd> 32902f4aeb0Sopenharmony_ci </dl> 33002f4aeb0Sopenharmony_ci </div> 33102f4aeb0Sopenharmony_ci </div> 33202f4aeb0Sopenharmony_ci <div class="refsect1"> 33302f4aeb0Sopenharmony_ci <a id="description"></a> 33402f4aeb0Sopenharmony_ci <h2>Description</h2> 33502f4aeb0Sopenharmony_ci <p> 33602f4aeb0Sopenharmony_ci <code class="function">eglCreatePbufferFromClientBuffer</code> creates an 33702f4aeb0Sopenharmony_ci off-screen pixel buffer surface and returns its handle. If 33802f4aeb0Sopenharmony_ci <code class="function">eglCreatePbufferFromClientBuffer</code> fails to create 33902f4aeb0Sopenharmony_ci a pixel buffer surface, <code class="constant">EGL_NO_SURFACE</code> 34002f4aeb0Sopenharmony_ci is returned. 34102f4aeb0Sopenharmony_ci </p> 34202f4aeb0Sopenharmony_ci <p> 34302f4aeb0Sopenharmony_ci The new pixel buffer surface is similar to a pixel buffer 34402f4aeb0Sopenharmony_ci created with 34502f4aeb0Sopenharmony_ci <a class="citerefentry" href="eglCreatePbufferSurface.html"><span class="citerefentry"><span class="refentrytitle">eglCreatePbufferSurface</span></span></a>, 34602f4aeb0Sopenharmony_ci but storage for the color buffer is provided by a client API 34702f4aeb0Sopenharmony_ci buffer. Other buffer required by 34802f4aeb0Sopenharmony_ci <em class="parameter"><code>config</code></em>, such as depth, stencil, and 34902f4aeb0Sopenharmony_ci alpha mask, are allocated by EGL. 35002f4aeb0Sopenharmony_ci </p> 35102f4aeb0Sopenharmony_ci <p> 35202f4aeb0Sopenharmony_ci <em class="parameter"><code>buftype</code></em> must be 35302f4aeb0Sopenharmony_ci <code class="constant">EGL_OPENVG_IMAGE</code>, corresponding to an 35402f4aeb0Sopenharmony_ci OpenVG <span class="type">VGImage</span> buffer. 35502f4aeb0Sopenharmony_ci <em class="parameter"><code>buffer</code></em> must be a valid 35602f4aeb0Sopenharmony_ci <span class="type">VGImage</span> handle in the current OpenVG context, 35702f4aeb0Sopenharmony_ci cast into the type <span class="type">EGLClientBuffer</span>. 35802f4aeb0Sopenharmony_ci </p> 35902f4aeb0Sopenharmony_ci <p> 36002f4aeb0Sopenharmony_ci The height, width,, OpenVG alpha format, and OpenVG 36102f4aeb0Sopenharmony_ci colorspace (surface attributes 36202f4aeb0Sopenharmony_ci <code class="constant">EGL_HEIGHT</code>, 36302f4aeb0Sopenharmony_ci <code class="constant">EGL_WIDTH</code>, 36402f4aeb0Sopenharmony_ci <code class="constant">EGL_VG_ALPHA_FORMAT</code>, and 36502f4aeb0Sopenharmony_ci <code class="constant">EGL_VG_COLORSPACE</code>, respectively) of the 36602f4aeb0Sopenharmony_ci resulting surface are determined by the size and format of 36702f4aeb0Sopenharmony_ci <em class="parameter"><code>buffer</code></em>. 36802f4aeb0Sopenharmony_ci </p> 36902f4aeb0Sopenharmony_ci <p> 37002f4aeb0Sopenharmony_ci Surface attributes are specified as a list of 37102f4aeb0Sopenharmony_ci attribute-value pairs, terminated with 37202f4aeb0Sopenharmony_ci <code class="constant">EGL_NONE</code>. Accepted attributes are: 37302f4aeb0Sopenharmony_ci </p> 37402f4aeb0Sopenharmony_ci <div class="variablelist"> 37502f4aeb0Sopenharmony_ci <dl class="variablelist"> 37602f4aeb0Sopenharmony_ci <dt> 37702f4aeb0Sopenharmony_ci <span class="term"> 37802f4aeb0Sopenharmony_ci <code class="constant">EGL_MIPMAP_TEXTURE</code> 37902f4aeb0Sopenharmony_ci </span> 38002f4aeb0Sopenharmony_ci </dt> 38102f4aeb0Sopenharmony_ci <dd> 38202f4aeb0Sopenharmony_ci <p> 38302f4aeb0Sopenharmony_ci Specifies whether storage for mipmaps should be 38402f4aeb0Sopenharmony_ci allocated. Space for mipmaps will be set aside if 38502f4aeb0Sopenharmony_ci the attribute value is <code class="constant">EGL_TRUE</code> 38602f4aeb0Sopenharmony_ci and <code class="constant">EGL_TEXTURE_FORMAT</code> is not 38702f4aeb0Sopenharmony_ci <code class="constant">EGL_NO_TEXTURE</code>. The default 38802f4aeb0Sopenharmony_ci value is <code class="constant">EGL_FALSE</code>. 38902f4aeb0Sopenharmony_ci </p> 39002f4aeb0Sopenharmony_ci </dd> 39102f4aeb0Sopenharmony_ci <dt> 39202f4aeb0Sopenharmony_ci <span class="term"> 39302f4aeb0Sopenharmony_ci <code class="constant">EGL_TEXTURE_FORMAT</code> 39402f4aeb0Sopenharmony_ci </span> 39502f4aeb0Sopenharmony_ci </dt> 39602f4aeb0Sopenharmony_ci <dd> 39702f4aeb0Sopenharmony_ci <p> 39802f4aeb0Sopenharmony_ci Specifies the format of the texture that will be 39902f4aeb0Sopenharmony_ci created when a pbuffer is bound to a texture map. 40002f4aeb0Sopenharmony_ci Possible values are 40102f4aeb0Sopenharmony_ci <code class="constant">EGL_NO_TEXTURE</code>, 40202f4aeb0Sopenharmony_ci <code class="constant">EGL_TEXTURE_RGB</code>, and 40302f4aeb0Sopenharmony_ci <code class="constant">EGL_TEXTURE_RGBA</code>. The default 40402f4aeb0Sopenharmony_ci value is <code class="constant">EGL_NO_TEXTURE</code>. 40502f4aeb0Sopenharmony_ci </p> 40602f4aeb0Sopenharmony_ci </dd> 40702f4aeb0Sopenharmony_ci <dt> 40802f4aeb0Sopenharmony_ci <span class="term"> 40902f4aeb0Sopenharmony_ci <code class="constant">EGL_TEXTURE_TARGET</code> 41002f4aeb0Sopenharmony_ci </span> 41102f4aeb0Sopenharmony_ci </dt> 41202f4aeb0Sopenharmony_ci <dd> 41302f4aeb0Sopenharmony_ci <p> 41402f4aeb0Sopenharmony_ci Specifies the target for the texture that will be 41502f4aeb0Sopenharmony_ci created when the pbuffer is created with a texture 41602f4aeb0Sopenharmony_ci format of <code class="constant">EGL_TEXTURE_RGB</code> or 41702f4aeb0Sopenharmony_ci <code class="constant">EGL_TEXTURE_RGBA</code>. Possible 41802f4aeb0Sopenharmony_ci values are <code class="constant">EGL_NO_TEXTURE</code>, or 41902f4aeb0Sopenharmony_ci <code class="constant">EGL_TEXTURE_2D</code>. The default 42002f4aeb0Sopenharmony_ci value is <code class="constant">EGL_NO_TEXTURE</code>. 42102f4aeb0Sopenharmony_ci </p> 42202f4aeb0Sopenharmony_ci </dd> 42302f4aeb0Sopenharmony_ci </dl> 42402f4aeb0Sopenharmony_ci </div> 42502f4aeb0Sopenharmony_ci <p> 42602f4aeb0Sopenharmony_ci Any EGL rendering context that was created with respect to 42702f4aeb0Sopenharmony_ci <em class="parameter"><code>config</code></em> can be used to render into the 42802f4aeb0Sopenharmony_ci surface. Use 42902f4aeb0Sopenharmony_ci <a class="citerefentry" href="eglMakeCurrent.html"><span class="citerefentry"><span class="refentrytitle">eglMakeCurrent</span></span></a> 43002f4aeb0Sopenharmony_ci to attach an EGL rendering context to the surface. 43102f4aeb0Sopenharmony_ci </p> 43202f4aeb0Sopenharmony_ci <p> 43302f4aeb0Sopenharmony_ci Use 43402f4aeb0Sopenharmony_ci <a class="citerefentry" href="eglQuerySurface.html"><span class="citerefentry"><span class="refentrytitle">eglQuerySurface</span></span></a> 43502f4aeb0Sopenharmony_ci to retrieve the dimensions of the allocated pixel buffer 43602f4aeb0Sopenharmony_ci surface or the ID of <em class="parameter"><code>config</code></em>. 43702f4aeb0Sopenharmony_ci </p> 43802f4aeb0Sopenharmony_ci <p> 43902f4aeb0Sopenharmony_ci Use <a class="citerefentry" href="eglDestroySurface.html"><span class="citerefentry"><span class="refentrytitle">eglDestroySurface</span></span></a> 44002f4aeb0Sopenharmony_ci to destroy the surface. 44102f4aeb0Sopenharmony_ci </p> 44202f4aeb0Sopenharmony_ci </div> 44302f4aeb0Sopenharmony_ci <div class="refsect1"> 44402f4aeb0Sopenharmony_ci <a id="notes"></a> 44502f4aeb0Sopenharmony_ci <h2>Notes</h2> 44602f4aeb0Sopenharmony_ci <p> 44702f4aeb0Sopenharmony_ci <code class="function">eglCreatePbufferFromClientBuffer</code> is 44802f4aeb0Sopenharmony_ci supported only if the EGL version is 1.2 or greater, and if 44902f4aeb0Sopenharmony_ci the EGL implementation supports the OpenVG client API. 45002f4aeb0Sopenharmony_ci </p> 45102f4aeb0Sopenharmony_ci <p> 45202f4aeb0Sopenharmony_ci Currently 45302f4aeb0Sopenharmony_ci <code class="function">eglCreatePbufferFromClientBuffer</code> only 45402f4aeb0Sopenharmony_ci supports binding OpenVG <span class="type">VGImage</span> buffers to 45502f4aeb0Sopenharmony_ci pixel buffers. While other client API resources could be 45602f4aeb0Sopenharmony_ci supported in the future, mechanisms such as OpenGL ES 45702f4aeb0Sopenharmony_ci framebuffer objects, and the family of EGL and client API 45802f4aeb0Sopenharmony_ci extensions for defining and using <span class="type">EGLImageKHR</span> 45902f4aeb0Sopenharmony_ci images, are a more flexible and general framework to satisfy 46002f4aeb0Sopenharmony_ci most of the same needs. 46102f4aeb0Sopenharmony_ci </p> 46202f4aeb0Sopenharmony_ci <p> 46302f4aeb0Sopenharmony_ci If the value of <em class="parameter"><code>config</code></em> attribute 46402f4aeb0Sopenharmony_ci <code class="constant">EGL_TEXTURE_FORMAT</code> is not 46502f4aeb0Sopenharmony_ci <code class="constant">EGL_NO_TEXTURE</code>, then the pbuffer width 46602f4aeb0Sopenharmony_ci and height specify the size of the level zero texture image 46702f4aeb0Sopenharmony_ci </p> 46802f4aeb0Sopenharmony_ci <p> 46902f4aeb0Sopenharmony_ci If <code class="constant">EGL_LARGEST_PBUFFER</code> is specified and 47002f4aeb0Sopenharmony_ci if the pbuffer will be used as a texture (i.e. the value of 47102f4aeb0Sopenharmony_ci <code class="constant">EGL_TEXTURE_TARGET</code> is 47202f4aeb0Sopenharmony_ci <code class="constant">EGL_TEXTURE_2D</code>, and the value of 47302f4aeb0Sopenharmony_ci <code class="constant">EGL_TEXTURE FORMAT</code> is 47402f4aeb0Sopenharmony_ci <code class="constant">EGL_TEXTURE_RGB</code> or 47502f4aeb0Sopenharmony_ci <code class="constant">EGL_TEXTURE_RGBA</code>), then the aspect 47602f4aeb0Sopenharmony_ci ratio will be preserved and the new width and height will be 47702f4aeb0Sopenharmony_ci valid sizes for the texture target (e.g. if the underlying 47802f4aeb0Sopenharmony_ci OpenGL ES implementation does not support non-power-of-two 47902f4aeb0Sopenharmony_ci textures, both the width and height will be a power of 2). 48002f4aeb0Sopenharmony_ci </p> 48102f4aeb0Sopenharmony_ci <p> 48202f4aeb0Sopenharmony_ci The contents of the depth and stencil buffers may not be 48302f4aeb0Sopenharmony_ci preserved when rendering a texture to the pbuffer and 48402f4aeb0Sopenharmony_ci switching which image of the texture is rendered to (e.g., 48502f4aeb0Sopenharmony_ci switching from rendering one mipmap level to rendering 48602f4aeb0Sopenharmony_ci another). 48702f4aeb0Sopenharmony_ci </p> 48802f4aeb0Sopenharmony_ci <p> 48902f4aeb0Sopenharmony_ci Binding client API buffers to EGL pbuffers create the 49002f4aeb0Sopenharmony_ci possibility of race conditions, and of buffers being deleted 49102f4aeb0Sopenharmony_ci through one API while still in use in another API. To avoid 49202f4aeb0Sopenharmony_ci these problems, a number of constraints apply to bound 49302f4aeb0Sopenharmony_ci client API buffers: 49402f4aeb0Sopenharmony_ci </p> 49502f4aeb0Sopenharmony_ci <div class="orderedlist"> 49602f4aeb0Sopenharmony_ci <ol class="orderedlist" type="1"> 49702f4aeb0Sopenharmony_ci <li class="listitem"> 49802f4aeb0Sopenharmony_ci <p> 49902f4aeb0Sopenharmony_ci Bound buffers may be used exclusively by either EGL, 50002f4aeb0Sopenharmony_ci or the client API that originally created them. For 50102f4aeb0Sopenharmony_ci example, if a <span class="type">VGImage</span> is bound to a 50202f4aeb0Sopenharmony_ci pbuffer, and that pbuffer is bound to any client API 50302f4aeb0Sopenharmony_ci rendering context, then the <span class="type">VGImage</span> may 50402f4aeb0Sopenharmony_ci not be used as the explicit source or destination of 50502f4aeb0Sopenharmony_ci any OpenVG operation. Errors resulting from such use 50602f4aeb0Sopenharmony_ci are described in client API specifications. 50702f4aeb0Sopenharmony_ci Similarly, while a <span class="type">VGImage</span> is in use by 50802f4aeb0Sopenharmony_ci OpenVG, the pbuffer it is bound to may not be made 50902f4aeb0Sopenharmony_ci current to any client API context using 51002f4aeb0Sopenharmony_ci <a class="citerefentry" href="eglMakeCurrent.html"><span class="citerefentry"><span class="refentrytitle">eglMakeCurrent</span></span></a>. 51102f4aeb0Sopenharmony_ci </p> 51202f4aeb0Sopenharmony_ci </li> 51302f4aeb0Sopenharmony_ci <li class="listitem"> 51402f4aeb0Sopenharmony_ci <p> 51502f4aeb0Sopenharmony_ci Binding a buffer creates an additional reference to 51602f4aeb0Sopenharmony_ci it, and implementations must respect outstanding 51702f4aeb0Sopenharmony_ci references when destroying objects. For example, if 51802f4aeb0Sopenharmony_ci a <span class="type">VGImage</span> is bound to a pbuffer, 51902f4aeb0Sopenharmony_ci destroying the image with 52002f4aeb0Sopenharmony_ci <code class="function">vgDestroyImage</code> will not free 52102f4aeb0Sopenharmony_ci the underlying buffer, because it is still in use by 52202f4aeb0Sopenharmony_ci EGL. However, following 52302f4aeb0Sopenharmony_ci <code class="function">vgDestroyImage</code> the buffer may 52402f4aeb0Sopenharmony_ci only be referred to via the EGL pbuffer handle, 52502f4aeb0Sopenharmony_ci since the OpenVG handle to that buffer no longer 52602f4aeb0Sopenharmony_ci exists. Similarly, destroying the pbuffer with 52702f4aeb0Sopenharmony_ci <code class="function">eglDestroySurface</code> will not free 52802f4aeb0Sopenharmony_ci the underlying buffer, because it is still in use by 52902f4aeb0Sopenharmony_ci OpenVG . However, following 53002f4aeb0Sopenharmony_ci <code class="function">eglDestroySurface</code> the buffer 53102f4aeb0Sopenharmony_ci may only be referred to via the OpenVG 53202f4aeb0Sopenharmony_ci <span class="type">VGImage</span> handle, since the EGL pbuffer 53302f4aeb0Sopenharmony_ci handle no longer exists. 53402f4aeb0Sopenharmony_ci </p> 53502f4aeb0Sopenharmony_ci </li> 53602f4aeb0Sopenharmony_ci </ol> 53702f4aeb0Sopenharmony_ci </div> 53802f4aeb0Sopenharmony_ci <p> 53902f4aeb0Sopenharmony_ci </p> 54002f4aeb0Sopenharmony_ci </div> 54102f4aeb0Sopenharmony_ci <div class="refsect1"> 54202f4aeb0Sopenharmony_ci <a id="errors"></a> 54302f4aeb0Sopenharmony_ci <h2>Errors</h2> 54402f4aeb0Sopenharmony_ci <p> 54502f4aeb0Sopenharmony_ci <code class="constant">EGL_NO_SURFACE</code> is returned if creation of 54602f4aeb0Sopenharmony_ci the context fails. 54702f4aeb0Sopenharmony_ci </p> 54802f4aeb0Sopenharmony_ci <p> 54902f4aeb0Sopenharmony_ci <code class="constant">EGL_BAD_DISPLAY</code> is generated if 55002f4aeb0Sopenharmony_ci <em class="parameter"><code>display</code></em> is not an EGL display connection. 55102f4aeb0Sopenharmony_ci </p> 55202f4aeb0Sopenharmony_ci <p> 55302f4aeb0Sopenharmony_ci <code class="constant">EGL_NOT_INITIALIZED</code> is generated if 55402f4aeb0Sopenharmony_ci <em class="parameter"><code>display</code></em> has not been initialized. 55502f4aeb0Sopenharmony_ci </p> 55602f4aeb0Sopenharmony_ci <p> 55702f4aeb0Sopenharmony_ci <code class="constant">EGL_BAD_CONFIG</code> is generated if 55802f4aeb0Sopenharmony_ci <em class="parameter"><code>config</code></em> is not an EGL frame buffer configuration. 55902f4aeb0Sopenharmony_ci </p> 56002f4aeb0Sopenharmony_ci <p> 56102f4aeb0Sopenharmony_ci <code class="constant">EGL_BAD_PARAMETER</code> is generated if 56202f4aeb0Sopenharmony_ci <em class="parameter"><code>buftype</code></em> is not 56302f4aeb0Sopenharmony_ci <code class="constant">EGL_OPENVG_IMAGE</code>, or if 56402f4aeb0Sopenharmony_ci <em class="parameter"><code>buffer</code></em> is not a valid handle to a 56502f4aeb0Sopenharmony_ci <span class="type">VGImage</span> object in the currently bound OpenVG 56602f4aeb0Sopenharmony_ci context. 56702f4aeb0Sopenharmony_ci </p> 56802f4aeb0Sopenharmony_ci <p> 56902f4aeb0Sopenharmony_ci <code class="constant">EGL_BAD_ACCESS</code> is generated if there is 57002f4aeb0Sopenharmony_ci no current OpenVG context, or if 57102f4aeb0Sopenharmony_ci <em class="parameter"><code>buffer</code></em> is already bound to another 57202f4aeb0Sopenharmony_ci pixel buffer or in use by OpenVG as discussed in the Notes 57302f4aeb0Sopenharmony_ci section above. 57402f4aeb0Sopenharmony_ci </p> 57502f4aeb0Sopenharmony_ci <p> 57602f4aeb0Sopenharmony_ci <code class="constant">EGL_BAD_ALLOC</code> is generated if there are not 57702f4aeb0Sopenharmony_ci enough resources to allocate the new surface. 57802f4aeb0Sopenharmony_ci </p> 57902f4aeb0Sopenharmony_ci <p> 58002f4aeb0Sopenharmony_ci <code class="constant">EGL_BAD_ATTRIBUTE</code> is generated if 58102f4aeb0Sopenharmony_ci <em class="parameter"><code>attrib_list</code></em> contains an invalid pixel 58202f4aeb0Sopenharmony_ci buffer attribute or if an attribute value is not recognized 58302f4aeb0Sopenharmony_ci or out of range. 58402f4aeb0Sopenharmony_ci </p> 58502f4aeb0Sopenharmony_ci <p> 58602f4aeb0Sopenharmony_ci <code class="constant">EGL_BAD_ATTRIBUTE</code> is generated if 58702f4aeb0Sopenharmony_ci <em class="parameter"><code>attrib_list</code></em> contains any of the 58802f4aeb0Sopenharmony_ci attributes <code class="constant">EGL_MIPMAP_TEXTURE</code>, 58902f4aeb0Sopenharmony_ci <code class="constant">EGL_TEXTURE_FORMAT</code>, or 59002f4aeb0Sopenharmony_ci <code class="constant">EGL_TEXTURE_TARGET</code>, and 59102f4aeb0Sopenharmony_ci <em class="parameter"><code>config</code></em> does not support OpenGL ES 59202f4aeb0Sopenharmony_ci rendering (e.g. the EGL version is 1.2 or later, and the 59302f4aeb0Sopenharmony_ci <code class="constant">EGL_RENDERABLE_TYPE</code> attribute of 59402f4aeb0Sopenharmony_ci <em class="parameter"><code>config</code></em> does not include at least one 59502f4aeb0Sopenharmony_ci of <code class="constant">EGL_OPENGL_ES_BIT</code> or 59602f4aeb0Sopenharmony_ci <code class="constant">EGL_OPENGL_ES2_BIT</code>). 59702f4aeb0Sopenharmony_ci </p> 59802f4aeb0Sopenharmony_ci <p> 59902f4aeb0Sopenharmony_ci <code class="constant">EGL_BAD_MATCH</code> is generated if 60002f4aeb0Sopenharmony_ci <em class="parameter"><code>config</code></em> does not support rendering to pixel buffers 60102f4aeb0Sopenharmony_ci (the <code class="constant">EGL_SURFACE_TYPE</code> attribute does not contain 60202f4aeb0Sopenharmony_ci <code class="constant">EGL_PBUFFER_BIT</code>). 60302f4aeb0Sopenharmony_ci </p> 60402f4aeb0Sopenharmony_ci <p> 60502f4aeb0Sopenharmony_ci <code class="constant">EGL_BAD_MATCH</code> is generated if the 60602f4aeb0Sopenharmony_ci buffers contained in <em class="parameter"><code>buffer</code></em> do not 60702f4aeb0Sopenharmony_ci match the bit depths for those buffers specified by 60802f4aeb0Sopenharmony_ci <em class="parameter"><code>config</code></em>. 60902f4aeb0Sopenharmony_ci </p> 61002f4aeb0Sopenharmony_ci <p> 61102f4aeb0Sopenharmony_ci <code class="constant">EGL_BAD_MATCH</code> is generated if the 61202f4aeb0Sopenharmony_ci <code class="constant">EGL_TEXTURE_FORMAT</code> attribute is not 61302f4aeb0Sopenharmony_ci <code class="constant">EGL_NO_TEXTURE</code>, and 61402f4aeb0Sopenharmony_ci <code class="constant">EGL_WIDTH</code> and/or 61502f4aeb0Sopenharmony_ci <code class="constant">EGL_HEIGHT</code> specify an invalid size 61602f4aeb0Sopenharmony_ci (e.g., the texture size is not a power of 2, and the 61702f4aeb0Sopenharmony_ci underlying OpenGL ES implementation does not support 61802f4aeb0Sopenharmony_ci non-power-of-two textures). 61902f4aeb0Sopenharmony_ci </p> 62002f4aeb0Sopenharmony_ci <p> 62102f4aeb0Sopenharmony_ci <code class="constant">EGL_BAD_MATCH</code> is generated if 62202f4aeb0Sopenharmony_ci the <code class="constant">EGL_TEXTURE_FORMAT</code> attribute is 62302f4aeb0Sopenharmony_ci <code class="constant">EGL_NO_TEXTURE</code>, and 62402f4aeb0Sopenharmony_ci <code class="constant">EGL_TEXTURE_TARGET</code> is something other 62502f4aeb0Sopenharmony_ci than <code class="constant">EGL_NO_TEXTURE</code>; or, 62602f4aeb0Sopenharmony_ci <code class="constant">EGL_TEXTURE_FORMAT</code> is something other 62702f4aeb0Sopenharmony_ci than <code class="constant">EGL_NO_TEXTURE</code>, and 62802f4aeb0Sopenharmony_ci <code class="constant">EGL_TEXTURE_TARGET</code> is 62902f4aeb0Sopenharmony_ci <code class="constant">EGL_NO_TEXTURE</code>. 63002f4aeb0Sopenharmony_ci </p> 63102f4aeb0Sopenharmony_ci <p> 63202f4aeb0Sopenharmony_ci <code class="constant">EGL_BAD_MATCH</code> is generated if the 63302f4aeb0Sopenharmony_ci implementation has additional constraints on which types of 63402f4aeb0Sopenharmony_ci client API buffers may be bound to pixel buffer surfaces. 63502f4aeb0Sopenharmony_ci For example, it is possible that the OpenVG implementation 63602f4aeb0Sopenharmony_ci might not support a <span class="type">VGImage</span> being bound to a 63702f4aeb0Sopenharmony_ci pixel buffer which will be used as a mipmapped OpenGL ES 63802f4aeb0Sopenharmony_ci texture (e.g. whose <code class="constant">EGL_MIPMAP_TEXTURE</code> 63902f4aeb0Sopenharmony_ci attribute is <code class="constant">TRUE</code>). Any such 64002f4aeb0Sopenharmony_ci constraints should be documented by the implementation 64102f4aeb0Sopenharmony_ci release notes. 64202f4aeb0Sopenharmony_ci </p> 64302f4aeb0Sopenharmony_ci </div> 64402f4aeb0Sopenharmony_ci <div class="refsect1"> 64502f4aeb0Sopenharmony_ci <a id="seealso"></a> 64602f4aeb0Sopenharmony_ci <h2>See Also</h2> 64702f4aeb0Sopenharmony_ci <p> 64802f4aeb0Sopenharmony_ci <a class="citerefentry" href="eglDestroySurface.html"><span class="citerefentry"><span class="refentrytitle">eglDestroySurface</span></span></a>, 64902f4aeb0Sopenharmony_ci <a class="citerefentry" href="eglChooseConfig.html"><span class="citerefentry"><span class="refentrytitle">eglChooseConfig</span></span></a>, 65002f4aeb0Sopenharmony_ci <a class="citerefentry" href="eglCreatePbufferSurface.html"><span class="citerefentry"><span class="refentrytitle">eglCreatePbufferSurface</span></span></a>, 65102f4aeb0Sopenharmony_ci <a class="citerefentry" href="eglGetConfigs.html"><span class="citerefentry"><span class="refentrytitle">eglGetConfigs</span></span></a>, 65202f4aeb0Sopenharmony_ci <a class="citerefentry" href="eglMakeCurrent.html"><span class="citerefentry"><span class="refentrytitle">eglMakeCurrent</span></span></a>, 65302f4aeb0Sopenharmony_ci <a class="citerefentry" href="eglQuerySurface.html"><span class="citerefentry"><span class="refentrytitle">eglQuerySurface</span></span></a> 65402f4aeb0Sopenharmony_ci </p> 65502f4aeb0Sopenharmony_ci </div> 65602f4aeb0Sopenharmony_ci <div xmlns="" class="refsect3" lang="en" xml:lang="en"><a xmlns="http://www.w3.org/1999/xhtml" id="Copyright"></a><h4 xmlns="http://www.w3.org/1999/xhtml"></h4><img xmlns="http://www.w3.org/1999/xhtml" src="KhronosLogo.jpg" /><p xmlns="http://www.w3.org/1999/xhtml"></p> 65702f4aeb0Sopenharmony_ciCopyright © 2003-2014 The Khronos Group Inc. 65802f4aeb0Sopenharmony_ciPermission is hereby granted, free of charge, to any person obtaining a 65902f4aeb0Sopenharmony_cicopy of this software and/or associated documentation files (the 66002f4aeb0Sopenharmony_ci"Materials"), to deal in the Materials without restriction, including 66102f4aeb0Sopenharmony_ciwithout limitation the rights to use, copy, modify, merge, publish, 66202f4aeb0Sopenharmony_cidistribute, sublicense, and/or sell copies of the Materials, and to 66302f4aeb0Sopenharmony_cipermit persons to whom the Materials are furnished to do so, subject to 66402f4aeb0Sopenharmony_cithe condition that this copyright notice and permission notice shall be included 66502f4aeb0Sopenharmony_ciin all copies or substantial portions of the Materials. 66602f4aeb0Sopenharmony_ci</div> 66702f4aeb0Sopenharmony_ci </div> 66802f4aeb0Sopenharmony_ci </body> 66902f4aeb0Sopenharmony_ci</html> 670