[ NeznamTkoSam @ 09.02.2005. 21:00 ] @
Kako da nacrtam liniju na Window??? Postoji li kakva funkcija kao DrawLine(Color, int, int, int, int)? |
[ NeznamTkoSam @ 09.02.2005. 21:00 ] @
[ Buffy @ 10.02.2005. 10:17 ] @
Skini FLTK dokumentaciju,tamo je sigurno objasnjeno!
[ Buffy @ 10.02.2005. 11:21 ] @
Citajuci dokumentaciju napisah sledeci kod:
Code: #include <fltk/run.h> #include <fltk/Window.h> #include <fltk/draw.h> using namespace fltk; class linija:public Widget { public: linija(int x,int y,int w,int h):Widget(x,y,w,h){} void draw() { setcolor(BLACK); fillrect(0,0,this->w(),this->h()); setcolor(RED); drawline(1,1,100,100); } }; int main(int argc,char **argv) { Window *p=new Window(USEDEFAULT,USEDEFAULT,400,400,"Prozor"); p->begin(); p->color(BLACK); linija *l=new linija(1,1,200,200); p->end(); p->show(argc,argv); run(); return 0; } [ leka @ 25.02.2005. 22:43 ] @
Buffy svaka cast majstore. Ja sam malo prepravio kod i to kod mene izgleda ovako:
Code: /*********************************************************\ file: simple_drawing.cpp compile: fltk-conf --compile simple_drawing.cpp run: ./linija author: Dejan Lekic, http://dejan.lekic.org URL: http://www.nu6.org/_/src/cpp/0004.html Source URL: http://www.nu6.org/_/src/cpp/0004.cpp Screenshot: http://www.nu6.org/_/src/cpp/0004.png \*********************************************************/ #include <fltk/run.h> #include <fltk/Window.h> #include <fltk/draw.h> using namespace fltk; class SimpleDrawing:public Widget { public: SimpleDrawing(const Rectangle& arg_rec): Widget(arg_rec.x(), arg_rec.y(), arg_rec.w(), arg_rec.h(), "Label") {} void draw() { setcolor(GRAY75); Rectangle rec(0, 0, w(), h()); fillrect(rec); // draw gray rectangle setcolor(BLUE); drawline(0, 0, w(), h()); // draw blue diagonal } }; int main(int argc,char **argv) { Window main_win(USEDEFAULT,USEDEFAULT, 400, 400, "SimpleDrawing demo"); main_win.begin(); main_win.color(GRAY95); Rectangle rec(10,10,200,200); SimpleDrawing o(rec); main_win.end(); main_win.show(argc,argv); return run(); } Ulepsano to izgleda kao na http://www.nu6.org/_/src/cpp/0004.html , a kada se kompajlira izgleda ovako: ![]() Neka vas ne zabuni windows dekoracija - u pitanju nije XP, vec GNU/Linux + XOrg + XFCE. :) [ Buffy @ 26.02.2005. 14:52 ] @
Taj kod(Dejanov) kod mene nece da radi jer mi kompajler pokazuje poruku
da ne postoji klasa Rectangle. Zasto klasa Rectangle kod mene ne postoji kada koristim FLTK2 biblioteku? [ NeznamTkoSam @ 26.02.2005. 19:39 ] @
Hmmm, to su valjda bugovi.
Kod mene na FLTK2 ne moze naci fltk::PUSH, fltk::RELEASE, fltk::ENTER, itd. [ leka @ 27.02.2005. 02:23 ] @
Odgovor je jako jednostavan - FLTK 2.0 je stvar u razvoju. fltk::Rectangle je u FLTK 2.0 (subversion) ubacena pre dve-tri nedelje, i gomila klasa je izmenjena tako da se sada koristi Rectangle kad god je moguce... Takodje je i stablo pretrpelo jako velike izmene, na moju inicijativu. :) - Sada su "OS-specific" klase u svom sopstvenom poddirektorijumu unutar /src direktorijuma.
Sto se Stjepan-ove opaske da ne moze da nadje fltk::PUSH, fltk::RELEASE, fltk::ENTER tice, ne znam sta moze da bude problem fakat - to bi moralo da vidi. Ako ukljucis fltk/Widget.h header fajl MORAS da imas to troje! :) Btw. za ljubitelje Relo IDE-a sam danas napisao ovaj clanak: http://dejan.lekic.org/doc/html/00004/index.html - javite sta mislite. :) Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|