Photoshop je skuuuup program...
( Pa dobro, nama nije ali, koliko vidim, bice - za jedno 100 god :):) )
Dobar primer modularne aplikacije...
Evo kako bi mogli da zapocnemo...
1. Da se osmisli glavni kostur aplikacije ( WinMain + WndProc + sabloni dialoga za razne opcije ) koji bi sluzio za pocetak i koji bi svi preuzeli odavde i koristili kao pocetni kostur i svako bi mogao da odradi plug-in...
2. Glavne apstraktne klase, iz kojih ce se izvoditi ostale klase ( u obliku modula)...
npr:
- CTool - svaka 'alatka' deluje na radnu povrsinu, ona bi znaci imala funkcije kao sto su MouseUp, MouseMove....
Naravno, svaki 'tool' ima svoje opcije, pa bi mogao da se napravi options prozorcic gde bi se u npr. ListBox dodavale opcije i kada se klikne na opciju da se menjaju parametri ( naravno, ovaj deo se pazljivo moze osmisliti da radi za bilo koji tool )
- CFilter - Blur, Zig Zag :), i ostali korisni filteri koji, jednostavno uzimaju tekuce pixele na radnoj povrsini i vrse proracune...
Programiranje nije samo kuckanje ( pogotovo sa OOP ) tako da bi mogli da razmislimo o arhitekturi i, kada svako napravi neki plug-in, neko drugi ga moze preuzeti i npr. popraviti ako ne radi dobro, tako da sve moze svakim danom da radi bolje i bolje...
Jos jedna stvar... Pitanje je, koju tehnologiju koristiti...
- GDI ( mozda je ovo i najbolje resenje jer bi kostur bila npr, SDI aplikacija koji je mnogima vec poznat )
- SDL ( portabilno )
- DirectX ( :P )
Mislim da nije glupo sto do sada ( kao sto kaze pocetak teme, ljudi sa stranih foruma zajedno prave programe ) jer, cak ni jedan trivijalan program kao sto je npr. Ruski Sah, nije trivijalan jer, kao sto kaze jedna knjiga, veliki procenat uspeha programa zavisi od toga kako predstavljamo podatke i oko svega toga se mora dogovoriti i dobro razmisliti inace sve pada u 'ladnu Moravu' :)
EOF