создание графического интерфейса с помощью DirectFB

Модератор: Модераторы разделов

LisAnd
Сообщения: 1
ОС: Linux

создание графического интерфейса с помощью DirectFB

Сообщение LisAnd »

Здравствуйте.
У меня задача создать графический интерфейс для Linux для консоли. У меня не получается создать объект Window графической библиотеки DirectFB. На официальном сайте http://directfb.org вроде написано что он создается на объекте DisplayLayer, но все попытки это реализовать окончились неудачей, так как там еще в добавок вся документация на английском.
Если кто может помогите, или может у кого есть док на русском.
При компиляции ошибок нет, а вот после запуска прога вылитает. Вот кусок кода программы:

Код: Выделить всё

static IDirectFB *dfb = NULL;
static IDirectFBSurface *primary = NULL;
static IDirectFBWindow *wind = NULL;
static IDirectFBSurface *wind_sur = NULL;
DFBWindowDescription wind_dsc;
static IDirectFBDisplayLayer *layer = NULL;
DFBDisplayLayerDescription layer_dsc;
DFBSurfaceDescription dsc;
static int screen_width  = 0;
static int screen_height = 0;
static IDirectFBFont *font = NULL;
DFBFontDescription font_dsc;
#define DFBCHECK(x...)                                         \
  {                                                            \
    DFBResult err = x;                                         \
                                                               \
    if (err != DFB_OK)                                         \
      {                                                        \
          fprintf( stderr, "%s <%d>:\n\t", __FILE__, __LINE__ ); \
        DirectFBErrorFatal( #x, err );                         \
      }                                                        \
  }


int InitGraph(int argc, char **argv)
{
   DFBCHECK (DirectFBInit (&argc, &argv));
   DFBCHECK (DirectFBCreate (&dfb));
   DFBCHECK (dfb->SetCooperativeLevel (dfb, DFSCL_FULLSCREEN));
   dsc.flags = DSDESC_CAPS;
   dsc.caps  = (DFBSurfaceCapabilities) (DSCAPS_FLIPPING | DSCAPS_PRIMARY);
   DFBCHECK (dfb->CreateSurface( dfb, &dsc, &primary ));
   DFBCHECK (primary->GetSize (primary, &screen_width, &screen_height));

    font_dsc.flags = DFDESC_HEIGHT;
   font_dsc.height = 23;
   DFBCHECK (dfb->CreateFont (dfb, "decker.ttf", &font_dsc, &font));

   DFBCHECK (primary->SetFont (primary, font));

   wind_dsc.caps   = (DFBWindowCapabilities)DWCAPS_DOUBLEBUFFER;
   wind_dsc.width  = 600;
   wind_dsc.height = 400;
   wind_dsc.posx   = 50;
   wind_dsc.posy   = 50;
   wind_dsc.surface_caps   = (DFBSurfaceCapabilities) (DSCAPS_FLIPPING | DSCAPS_PRIMARY);
    DFBDisplayLayerConfig layer_conf;

    layer_conf.width  = 600;
   layer_conf.height = 400;
    layer_conf.surface_caps = (DFBSurfaceCapabilities) (DSCAPS_FLIPPING | DSCAPS_PRIMARY);
   DFBCHECK (layer->SetConfiguration(layer,&layer_conf));
   DFBCHECK (layer->CreateWindow(layer,&wind_dsc,&wind));
}

вот что выводится на экран после запуска приложения
Изображение
Спасибо сказали:
Аватара пользователя
diesel
Бывший модератор
Сообщения: 5989
ОС: OS X, openSuSE, ROSA, Debian

Re: создание графического интерфейса с помощью DirectFB

Сообщение diesel »

http://www.nabble.com/Unable-to-disallocat...td19638757.html
вообще гугл достаточно много на эту ошибку выдает..
Спасибо сказали: