Portál AbcLinuxu, 8. listopadu 2025 21:43
Dík za nakopnutí směrem k SDL, funguje to pěkně, určitě je příjemnější překompilovat staré DOSové prográmky pod touhle SDL a pouštět si je v oknech X, než přepínat obrazovku do nějakých svga módů, které na dnešních videokartách ani nemusejí řádně fungovat. Kdysi jsem také bojoval s graph unit pod linuxem, nakonec to nějak šlo (byla to hodně komplexní aplikace pro srovnávání molekul peptidů ve 3D), ale byl to opruz a vypadalo to děsně, 480x640 na dnešním širokoúhlém monitoru, a svg módy fungovaly jen některé. A při přepínání rozlišení to padalo.
Nevíte někdo jak rozjet ve freepascalu pod linuxem nějakou jednoduchou grafiku? Něco jako byla v dosu jednotka GRAPH. Ta tady sice taky je, ale nevim, jak inicializovat ovladač gr. karty, tak jak to bylo v dosu InitGraph(g,m)... Dík moc
Program inigraph1;
{ Program to demonstrate static graphics mode selection }
uses graph;
const
TheLine = 'We are now in 640 x 480 x 256 colors!'+
' (press <Return> to continue)';
var
gd, gm, lo, hi, error,tw,th: integer;
found: boolean;
begin
{ We want an 8 bit mode }
gd := D8bit;
gm := m640x480;
initgraph(gd,gm,'');
{ Make sure you always check graphresult! }
error := graphResult;
if (error <> grOk) Then
begin
writeln('640x480x256 is not supported!');
halt(1)
end;
{ We are now in 640x480x256 }
setColor(cyan);
rectangle(0,0,getmaxx,getmaxy);
{ Write a nice message in the center of the screen }
setTextStyle(defaultFont,horizDir,1);
tw:=TextWidth(TheLine);
th:=TextHeight(TheLine);
outTextXY((getMaxX - TW) div 2,
(getMaxY - TH) div 2,TheLine);
{ Wait for return }
readln;
{ Back to text mode }
closegraph;
Staci?
end.
Jo pascal to byly casy. Nyni je pro me ten jazyk jen nostalgii. Ale v dobe, kdy jsem v nem tvoril, tak jsem mel s nim a jeho grafikou spatne zkusenosti. Proto jsem jsem se poohlidnul po jeho graficke nastavbe, rozjel jsem Lazarus a nekolik programku jsem v nem napsal. Pak jsem presel na Javu, a od te doby jsem pascal nepouzil.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.