User Tag List

Показано с 1 по 9 из 9

Тема: Библиотека Cybergraphics(CGX) для FPC OS4.1

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #3

    Регистрация
    15.02.2015
    Адрес
    г. Могилёв, Беларусь
    Сообщений
    928
    Спасибо Благодарностей отдано 
    15
    Спасибо Благодарностей получено 
    119
    Поблагодарили
    73 сообщений
    Mentioned
    3 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Фукнции обеих либ еще могут юзаться, но это уже просто врапперы над graphics.library's функциями, и остались в SDK только ради поддержки старого кодеса, и все. Поэтому на современное amigaos4 , юзать не cgx, не p96 больше не нужно и не рекомендуется. Юзается теперь чисто graphics.library напрямую онли.
    Вот что-то я не нахожу на Паскале для agraphics( http://www.alb42.de/fpc-docu/agraphics/index-5.html ) расширенных функций из cgx. Приходится обращаться к киберграфиксу...
    Написал программку, которая должна узнать у системы характеристики режимов для 24-битного цвета:

    Код:
    Program CGX_Test;
    uses  exec, sysutils, utility, intuition,agraphics,cybergraphics;
    var
    
            execlist:PList;
            cybernode:PCyberModeNode;
            cyberitem1:tTagItem;
            cyberitem2:tTagItem;
            citemarray:array [0..1] of ^tTagItem;
            deptharray:array [0..1] of Word;
    begin
    
            deptharray[0]:=PIXFMT_BGR24;
            deptharray[1]:=PIXFMT_RGB24;
    
            cyberitem1.ti_Tag:=CYBRMREQ_CModelArray;
            cyberitem1.ti_Data:=LongWord(@deptharray);
    
            cyberitem2.ti_Tag:=TAG_END;
            cyberitem2.ti_Data:=0;
    
            citemarray[0]:=@cyberitem1;
            citemarray[1]:=@cyberitem2;
    
            execlist:=AllocCModeListTagList(@citemarray);
            if execlist <> nil then writeln('cyber');
            cybernode:=PCyberModeNode(execlist^.lh_Head);
            repeat
                    writeln('Mode ',cybernode^.ModeText);
                    writeln('Width ',cybernode^.Width);
                    writeln('Height ',cybernode^.Height);
                    writeln('Depth ',cybernode^.Depth);
                    writeln();
                    cybernode:=PCyberModeNode(cybernode^.Node.ln_Succ);
            until cybernode=nil;
    
    end.
    Я писал её без других примеров. Где-то ошибся, так как мне выводятся все видеорежимы, а не те которые я запросил( с 24-битным цветом). Информацию о видеорежимах выводит неправильно. Вот пример вывода:

    Код:
    Mode PicassoIV:1280x720 x15 RGB
    Width 720
    Height 15
    Depth 0
    Видно, что Height пишет в Width, Depth пишет в Height. Может, я с указателями ошибся? Хорошо бы какие-нибудь примеры для кберграфикса на си посмотреть. Только, не могу эти примеры найти.

    - - - Добавлено - - -

    Нашёл какие-то примеры для Ароса. Ну хоть что-то.
    https://en.wikibooks.org/wiki/Aros/D...Libraries/CGFX
    Последний раз редактировалось Smalovsky; 10.09.2023 в 16:35.
    ¡Un momento, señor fiscal!


Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Программирование на free Pascal в OS4.1
    от Smalovsky в разделе Amiga
    Ответов: 4
    Последнее: 07.09.2023, 08:06
  2. Ответов: 0
    Последнее: 29.01.2021, 19:57
  3. Графическая библиотека
    от alone в разделе Программирование
    Ответов: 81
    Последнее: 31.01.2016, 20:37
  4. Библиотека нужных процедур для написания демо
    от GM BIT в разделе Программирование
    Ответов: 297
    Последнее: 14.02.2014, 08:47
  5. Библиотека Си для Апогея.
    от vinxru в разделе Радио-86РК
    Ответов: 4
    Последнее: 16.12.2012, 17:21

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •