예제 #1
0
	/** Synonym for ConfigId()
	 *
	 *  @eglsymbols
	 *  @eglfunref{GetConfigAttrib}
	 *  @egldefref{CONFIG_ID}
	 */
	EGLint Id(void) const
	{
		return ConfigId();
	}
예제 #2
0
int main() {
    // open the default display
    eglplus::Display display;
    // initialize the library
    eglplus::LibEGL egl(display);
    // get the list of all available configurations
    eglplus::Configs configs(display);
    //
    int w = 20;
    for(auto cr = configs.All(); !cr.Empty(); cr.Next()) {
        auto cfg = cr.Front();
        std::cout << "Config ID = " << cfg.ConfigId() << std::endl;
        std::cout << "\tRed size:          " << std::setw(w) << cfg.RedSize()
                  << std::endl;
        std::cout << "\tGreen size:        " << std::setw(w) << cfg.GreenSize()
                  << std::endl;
        std::cout << "\tBlue size:         " << std::setw(w) << cfg.BlueSize()
                  << std::endl;
        std::cout << "\tAlpha size:        " << std::setw(w) << cfg.AlphaSize()
                  << std::endl;
        std::cout << "\tDepth size:        " << std::setw(w) << cfg.DepthSize()
                  << std::endl;
        std::cout << "\tStencil size:      " << std::setw(w)
                  << cfg.StencilSize() << std::endl;
        std::cout << "\tMax Pbuffer width: " << std::setw(w)
                  << cfg.MaxPbufferWidth() << std::endl;
        std::cout << "\tMax Pbuffer height:" << std::setw(w)
                  << cfg.MaxPbufferHeight() << std::endl;
        std::cout << "\tMax Pbuffer pixels:" << std::setw(w)
                  << cfg.MaxPbufferPixels() << std::endl;

        std::cout << "\tConfig caveat:     " << std::setw(w)
                  << eglplus::EnumValueName(cfg.ConfigCaveat()).c_str()
                  << std::endl;
        std::cout << "\tColor buffer type: " << std::setw(w)
                  << eglplus::EnumValueName(cfg.ColorBufferType()).c_str()
                  << std::endl;
        std::cout << "\tTransparent type:  " << std::setw(w)
                  << eglplus::EnumValueName(cfg.TransparentType()).c_str()
                  << std::endl;

        std::cout << "\tRenderable types:  " << std::setw(w);
        auto rtr = eglplus::EnumValueRange<eglplus::RenderableTypeBit>();
        while(!rtr.Empty()) {
            if(cfg.HasRenderableType(rtr.Front())) {
                std::cout << eglplus::EnumValueName(rtr.Front()).c_str();
                std::cout << '|';
            }
            rtr.Next();
        }
        std::cout << std::endl;

        std::cout << "\tSurface types:     " << std::setw(w);
        auto str = eglplus::EnumValueRange<eglplus::SurfaceTypeBit>();
        while(!str.Empty()) {
            if(cfg.HasSurfaceType(str.Front())) {
                std::cout << eglplus::EnumValueName(str.Front()).c_str();
                std::cout << '|';
            }
            str.Next();
        }
        std::cout << std::endl;

        std::cout << "\tConformant to:     " << std::setw(w);
        auto ctr = eglplus::EnumValueRange<eglplus::RenderableTypeBit>();
        while(!ctr.Empty()) {
            if(cfg.IsConformantTo(ctr.Front())) {
                std::cout << eglplus::EnumValueName(ctr.Front()).c_str();
                std::cout << '|';
            }
            ctr.Next();
        }
        std::cout << std::endl;

        std::cout << "-----------------------------------------------"
                  << std::endl;
    }
    //
    return 0;
}