[ NeznamTkoSam @ 09.02.2005. 21:00 ] @
Kako da nacrtam liniju na Window???
Postoji li kakva funkcija kao DrawLine(Color, int, int, int, int)?
[ 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. :)