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


C++ IDirectFBSurface::GetGL方法代码示例

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


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

示例1: qWarning

QPlatformGLContext *QDirectFbWindow::glContext() const
{
    if (!m_context) {
        IDirectFBSurface *surface;
        DFBResult result = m_dfbWindow->GetSurface(m_dfbWindow,&surface);
        if (result != DFB_OK) {
            qWarning("could not retrieve surface in QDirectFbWindow::glContext()");
            return 0;
        }
        IDirectFBGL *gl;
        result = surface->GetGL(surface,&gl);
        if (result != DFB_OK) {
            qWarning("could not retrieve IDirectFBGL in QDirectFbWindow::glContext()");
            return 0;
        }
        const_cast<QDirectFbWindow *>(this)->m_context = new QDirectFbGLContext(gl);
    }
    return m_context;
}
开发者ID:BGmot,项目名称:Qt,代码行数:19,代码来源:qdirectfbwindow.cpp

示例2: DFBCHECK

int
main( int argc, char *argv[] )
{
     DFBResult ret;
     int       i;
     int       quit = 0;
     const int num = 2;
     Context   contexts[num];

     DFBCHECK(DirectFBInit( &argc, &argv ));

     /* create the super interface */
     DFBCHECK(DirectFBCreate( &dfb ));

     DFBCHECK(dfb->GetDisplayLayer( dfb, DLID_PRIMARY, &layer ));

     /* create the default font */
     DFBCHECK(dfb->CreateFont( dfb, NULL, NULL, &font ));

     for (i=0; i<num; i++) {
          IDirectFBWindow      *window;
          IDirectFBSurface     *surface;
          IDirectFBGL          *gl;
          DFBWindowDescription  desc;

          desc.flags  = DWDESC_POSX | DWDESC_POSY |
                        DWDESC_WIDTH | DWDESC_HEIGHT;
          desc.posx   = (i%3) * 200 + 10;
          desc.posy   = (i/3) * 200 + 10;
          desc.width  = 180;
          desc.height = 180;

          DFBCHECK(layer->CreateWindow( layer, &desc, &window ));
          DFBCHECK(window->GetSurface( window, &surface ));
          DFBCHECK(surface->GetGL( surface, &gl ));

          contexts[i].window    = window;
          contexts[i].surface   = surface;
          contexts[i].gl        = gl;

          contexts[i].last_time = get_millis();
          contexts[i].frames    = 0;
          contexts[i].fps       = 0;

          setup( &contexts[i] );

          if (events)
               DFBCHECK(window->AttachEventBuffer( window, events ));
          else
               DFBCHECK(window->CreateEventBuffer( window, &events ));
          
          DFBCHECK(surface->SetFont( surface, font ));

          window->SetOpacity( window, 0xff );
     }
     
     while (!quit) {
          DFBWindowEvent evt;

          for (i=0; i<num; i++)
               update( &contexts[i] );
          
          while (events->GetEvent( events, DFB_EVENT(&evt) ) == DFB_OK) {
               switch (evt.type) {
                    case DWET_KEYDOWN:
                         switch (evt.key_symbol) {
                              case DIKS_ESCAPE:
                                   quit = 1;
                                   break;

                              default:
                                   break;
                         }
                         break;

                    default:
                         break;
               }
          }
     }

     events->Release( events );

     for (i=0; i<num; i++) {
          contexts[i].gl->Release( contexts[i].gl );
          contexts[i].surface->Release( contexts[i].surface );
          contexts[i].window->Release( contexts[i].window );
     }

     font->Release( font );
     layer->Release( layer );
     dfb->Release( dfb );

     return 0;
}
开发者ID:astrofimov,项目名称:vgallium,代码行数:95,代码来源:multi_window.c


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