На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
Страницы: (16) « Первая ... 13 14 [15] 16  все  ( Перейти к последнему сообщению )  
> эмуляция BGI графики
    Пишу с мобилы. 2) Новый проект-dll. Добавляешь dgml*.c в проект и указываешь параметры проекта(в пред. сообщ.)
    3) новый проект-GUI. Добавляешь hello.c с парам-ми проекта выше. Позже-подробнее.
      Romtek
      Большое спасибо за поддержку.

      Проект DGML теперь доступен по лицензии BSD: http://sourceforge.net/projects/dgml/

      Есть идея переписать вывод графики на libcairo.
        Цитата Дер @
        Проект DGML теперь доступен по лицензии BSD

        Ух ты. :) Молодец.

        Цитата Дер @
        Есть идея переписать вывод графики на libcairo.
        Не стоит так торопиться. Лучше отточить то, что уже есть и хорошо проверить рабочесть и совместимость. Также заняться поддержкой разныхплатформ. ;)
        Я занимаюсь переводом на Linux.

        Добавлено
        Дер, свяжись со мной для помощи организации наполнения сайта проекта.
          Для билдера не могу настроить:

          Проект DGML теперь доступен по лицензии BSD: http://sourceforge.net/projects/dgml/

          Хотя для Visual Studio получается.
          Сообщение отредактировано: cmygeHm -
            С чем именно проблемы? Исходники и примеры проектов есть...

            Цитата Дер @
            Есть идея переписать вывод графики на libcairo.
            Спустя столько времени я тоже об этом стал подумывать. таким образом, получится отвязка от SDL за счёт Cairo. Ведь последняя для двумерной векторной графики как раз и создана.
              Цитата
              Для использования DGML в среде Microsoft Visual Studio или Borland C++ Builder, достаточно скопировать файлы DGML.lib и graphics.h в папки lib и include компилятора соответственно.


              Файла graphics.h нет даже близко в архиве... Думаю вместо него надо юзать dgml.h. Ложу DGML.lib и dgml.h в папки lib и include компилятора соответственно. Запускаем шестой билдер и создаем консольное приложение: Multi Threaded & Console Application.

              Вставляем такой код:

              Цитата

              #include <stdlib.h>
              #include <string.h>
              #include <stdio.h>
              #include <conio.h>
              #include "dgml.h"

              /* the names of the line styles supported */
              char *lname[] = {
              "SOLID_LINE",
              "DOTTED_LINE",
              "CENTER_LINE",
              "DASHED_LINE",
              "USERBIT_LINE"
              };

              int main(void)
              {
              /* request auto detection */
              int gdriver = DETECT, gmode, errorcode;

              int style, midx, midy, userpat;
              char stylestr[40];

              /* initialize graphics and local variables */
              initgraph(&gdriver, &gmode, "");

              /* read result of initialization */
              errorcode = graphresult();
              if (errorcode != grOk) /* an error occurred */
              {
              printf("Graphics error: %s\n", grapherrormsg(errorcode));
              printf("Press any key to halt:");
              getch();
              exit(1); /* terminate with an error code */
              }

              midx = getmaxx() / 2;
              midy = getmaxy() / 2;

              /* a user defined line pattern */
              /* binary: "0000000000000001" */
              userpat = 1;

              for (style=SOLID_LINE; style<=USERBIT_LINE; style++)
              {
              /* select the line style */
              setlinestyle(style, userpat, 1);

              /* convert style into a string */
              strcpy(stylestr, lname[style]);

              /* draw a line */
              line(0, 0, midx-10, midy);

              /* draw a rectangle */
              rectangle(0, 0, getmaxx(), getmaxy());

              /* output a message */
              outtextxy(midx, midy, stylestr);

              /* wait for a key */
              getch();
              cleardevice();
              }

              /* clean up */
              closegraph();
              return 0;
              }


              И в хедере dgml.h ошибочка на строке: using DGML::conio::clrscr;

              Only one of a set of overloaded functions can be "C"

              Как быть? Второй день разбираюсь.
                Насколько я понимаю, дело в том, что проект должен быть C++. Иначе - грабли.
                  т.е. Console Application ???

                  Абсолютно тоже самое :(
                  Сообщение отредактировано: cmygeHm -
                    Цитата cmygeHm @
                    т.е. Console Application

                    Консольное и обязательно С++!
                      все варианты перепробывал :(
                        Я не настолько разбираюсь в С++, чтобы помочь. В DGML используется трюк и использованием пространств имён, что позволяет игнорировать headers. Причём, я так понимаю, именно BCB не проглатываает исходник, т.к. VC++, GCC, Watcom - без проблем (согласно Der'у).
                          Попробуй этот заголовок:

                          Добавлено
                          По крайней мере, у меня в Dev-C++ компилируется...

                          В общем, Der_Meister (heavysoft /sf.net) всё писал и он сможет помочь.
                          Прикреплённый файлПрикреплённый файлdgml.h.zip (5.66 Кбайт, скачиваний: 278)
                            Спасибо, сейчас попробую и если что ему письмо напишу :)
                            Билдер знает о пространствах имен, надо как минимум указать using namespace ... ; и все пучком. А у DGML как называется пространство имен? Может явно указать?
                              Цитата cmygeHm @
                              А у DGML как называется пространство имен? Может явно указать?

                              Смотри в заголовок и пробуй. У меня нет BCB.
                                Та ошибка вроде исчезла, новая появилась!

                                [Linker Error] 'C:\PROGRAM FILES\BORLAND\CBUILDER6\LIB\DGML.LIB' contains invalid OMF record, type 0x21 (possibly COFF)

                                Может мне либку обновить? Из каких исходников она делалась? Из того же хедера?
                                Сообщение отредактировано: cmygeHm -
                                0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                                0 пользователей:


                                Рейтинг@Mail.ru
                                [ Script execution time: 0,0467 ]   [ 15 queries used ]   [ Generated: 27.04.24, 12:38 GMT ]