Klasa za menjanje rezolucije (Delphi/Pascal)

Klasa za menjanje rezolucije (Delphi/Pascal)

offline
  • Srđan Tot
  • Am I evil? I am man, yes I am.
  • Pridružio: 12 Jul 2005
  • Poruke: 2483
  • Gde živiš: Ljubljana

Pre nekog vremena sam odlučio da razvijem jednu igru bez upotrebe 3rd party biblioteka, pa mi je zatrebala jednostavna klasa za menjanje rezolucije zbog fullscreen-a... za slučaj da još nekom treba tako nešto, slobodno može da je iskoristi.

Od operativnih sistema su podržani Windows (od 98 pa na više) i Linux (koristi se xf86vmode ekstenzija). Testirani kompajleri su Delphi 2007, FPC 2.2.4 i Lazarus 0.9.28, ali verovatno radi i na drugim verzijama.

U nastavku je jednostavan konzolni program koji koristi klasu da prikaže trenutno izabranu rezoluciju, da prikaže sve rezolucije koje su moguće na računaru, da promeni rezoluciju i da je posle vrati na normalnu.
program TestBed; {$I Jedi.inc} uses   GUVideoModes; var   VideoModes: TVideoModes;   VideoMode: TVideoMode;   I: Integer; begin   VideoModes := TVideoModes.Create;   WriteLn('Desktop video mode: ', VideoModes.GetDesktopVideoMode.Width,     'x', VideoModes.GetDesktopVideoMode.Height,     'x', VideoModes.GetDesktopVideoMode.BitsPerPixel,     '@', VideoModes.GetDesktopVideoMode.Frequency);   WriteLn('Available video modes:');   for I := 0 to VideoModes.GetVideoModeCount - 1 do   begin     VideoMode := VideoModes.GetVideoMode(I);     WriteLn('  ', VideoMode.Width,       'x', VideoMode.Height,       'x', VideoMode.BitsPerPixel,       '@', VideoMode.Frequency);   end;   VideoModes.ChangeVideoMode(VideoModes.GetBestModeIndex(1024, 768, 32));   ReadLn;   VideoModes.RestoreVideoMode;   VideoModes.Free;   WriteLn('Press enter to exit...');   ReadLn; end.

Klasa: [Link mogu videti samo ulogovani korisnici]



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
Ko je trenutno na forumu
 

Ukupno su 1168 korisnika na forumu :: 113 registrovanih, 10 sakrivenih i 1045 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: 357magnum, 9191vs, A.R.Chafee.Jr., AK - 230, ALFASPORTIVO, amaterSRB, Apok, Arsenije, Asparagus, Asteker, babaroga, bato_banjaluka, bobomicek, bojan313, bolenbgd, Boris90, BORUTUS, BraneS, Chainsaw, cojapop, crnirocko, d.arsenal321, dankisha, dejanbenkovic, dejno, Djota1, dulleo, Georgius, Hans Gajger, Haris, Jakonjveliki, JankoS, Joint Chief, Josef, Jovan1983, kingkong1947, Koja79, kolle.the.kid, krkalon, Kubovac, kunktator, Lester Freamon, ljubo70, LostInSpaceandTime, M74AB3, Maca64, Makeitdrip, mgolub, mige84, milanovic, milanpb, milenko crazy north, Milo97, Milos1389, milos97, minmatar34957, misa1xx, Mldo, mm1811, mnn2, mrav pesadinac, naki011, nazgul75, nevjerna beba, Nobunaga, nsharambasa, Orc, Paklenica, Pilence, Povratak1912, predragc, PrincipL, proka89, promajauglavi, radovanstojkov023, raso76, RS28, samo opusteno, Sančo, shlauf, Sir Budimir, sluga, smuk, SpeedyGonzales, Strasni JA, strn, styg, tanakadzo, Tas011, theNedjeljko, Tihi86, Titan, Token, Topaz9, tubular, Tvrtko I, vasa.93, vathra, Veless, Velizar Laro, Velički, vensla, vladaa012, VOŽD, vranjanac29, zil10, zmajbre, Zoca, Zrcalo, zvomar, Žoržo, šumar bk2, 79693