Portál AbcLinuxu, 10. května 2025 02:23
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.