C++, wy

Potrzebujesz pomocy z C, C++, perl, python, itp.
HeliumPL
Posty: 16
Rejestracja: 03 czerwca 2012, 19:09

C++, wyświetlanie obrazków, kursora itp.

Post autor: HeliumPL »

Witam.
Na wstępie, nie wiem czy dobrze sformułowałem tytuł, ale przejdźmy do rzeczy.

Czy ktoś z was wie może, jak mogę napisać program(C++), który w zwykłej konsoli tty wyświetli mi obrazek i kursor(nic więcej! żadnych okienek!). Chodzi o to, że nie chcę pisać czegoś w stylu GNOME czy XFCE, KDE itd.(i tak bym nie napisał ;P), tylko zwykły obrazek i kursor(nie tekstowy, w formie obrazka np. png). Poza tym, na ekranie nie może być widoczny tekst z konsoli. Dałoby się zmienić także rozdzielczość ekranu?

Liczę na waszą pomoc, pozdrawiam.

P.S. Program NIE może integrować z żadnym środowiskiem graficznym. Ma być na tyle niezależny, by można go było odpalić w konsoli, bez dodatkowych bibliotek(o ile to możliwe). W ostateczności mogę użyć xserver i zrobić z programu sesję jak xde.
Awatar użytkownika
Rafal_F
Moderator
Posty: 2350
Rejestracja: 29 sierpnia 2008, 16:45

Post autor: Rafal_F »

Skoro nie ma być dodatkowych bibliotek to sam będziesz musiał takie napisać. Samą grafikę możesz wyświetlić przy pomocy bufora ramki, wystarczy żeby był wkompilowany w jądro, i do tego trzeba napisać obsługę myszki itp., a jak to ma być przenośne to musisz praktycznie napisać własny serwer X. Prościej oprzeć się o sesję X (Xlib - na tym działają GDK i QT) bo masz już zintegrowaną myszkę i grafikę, ale pisanie tego od podstaw będzie skomplikowane, bo praktycznie musisz napisać własny ,,toolkit''. A skąd aż takie zastrzeżenia?

Edycja:
Programy graficzne można odpalać bez menedżera plików itp wystarczy, że do pliku:

Kod: Zaznacz cały

.xinitrc
znajdującego się w katalogu domowym wpiszesz nazwę programu i po wywołaniu sesji X.
Np. przez polecenie:

Kod: Zaznacz cały

startx
uruchomi się od razu ten program bez żadnych belek tytułowych itp.
Awatar użytkownika
diabolic3
Beginner
Posty: 121
Rejestracja: 12 grudnia 2007, 19:45
Lokalizacja: okolice Leżajska

Post autor: diabolic3 »

Tak się wtrącę, ale Qt też może działać na samym framebufforze. Stosuje się to głównie w systemach embedded w celu zmniejszenia zasobożerności.
HeliumPL
Posty: 16
Rejestracja: 03 czerwca 2012, 19:09

Post autor: HeliumPL »

Tak więc co bardziej polecacie? O ile dobrze zrozumiałem, wyświetlając grafikę przez bufor ramki na pełnym ekranie, przykryję konsolę. Nie obniży to wydajności? A co do sesji X to trochę skomplikowane.

Pozdrawiam.
Awatar użytkownika
Rafal_F
Moderator
Posty: 2350
Rejestracja: 29 sierpnia 2008, 16:45

Post autor: Rafal_F »

O ile się nie mylę konsola w Debianie i tak jest wyświetlana właśnie przy pomocy bufora ramki (ang. framebuffer) (oferuje wyższe rozdzielczości), więc o wydajność się nie martw.

Jest jeszcze coś takiego: http://directfb.org/.

Jak chcesz wyświetlić tylko grafikę i kursor to spróbuj directfb (chociaż poradniki nie są dostosowane do najnowszej wersji biblioteki i trzeba je trochę poprawić żeby się skompilowały).

Nie wiem jak wygląda sprawa z Qt, bo sam nigdy w nim nie pisałem ale to biblioteka z dobrym wsparciem (dużo materiałów) i bardziej rozbudowana (kompletny toolkit) więc też może być dobrym wyborem.
ODPOWIEDZ