Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

FLTK - vise fontova

[es] :: C/C++ programiranje :: FLTK - vise fontova

[ Pregleda: 3606 | Odgovora: 12 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

NeznamTkoSam

Član broj: 39660
Poruke: 279
*.net.t-com.hr.



Profil

icon FLTK - vise fontova11.02.2005. u 17:58 - pre 232 meseci
Potrebno mi je vise fontova u FLTK, a kako vidim ima ih jako malo :(
 
Odgovor na temu

Dejan Lozanovic
Dejan Lozanovic
Beograd

Član broj: 691
Poruke: 2325
*.vdial.verat.net.

Jabber: null@elitesecurity.org
Sajt: speedy-order.com


+75 Profil

icon Re: FLTK - vise fontova11.02.2005. u 19:08 - pre 232 meseci
pogledaj test direktorijum unutra fltk biblioteke, imas tamo primer fonts, koji lepo ilisturuje rad da fontovima, metod labelfont kao argument uzima klasu font, znaci ovi predefinisani nisu svi fontovi.

FL_HELVETICA - Helvetica (or Arial) normal (0).
FL_HELVETICA_BOLD - Helvetica (or Arial) bold.
FL_HELVETICA_ITALIC - Helvetica (or Arial) oblique.
FL_HELVETICA_BOLD_ITALIC - Helvetica (or Arial) bold-oblique.
FL_COURIER - Courier normal.
FL_COURIER_BOLD - Courier bold.
FL_COURIER_ITALIC - Courier italic.
FL_COURIER_BOLD_ITALIC - Courier bold-italic.
FL_TIMES - Times roman.
FL_TIMES_BOLD - Times bold.
FL_TIMES_ITALIC - Times italic.
FL_TIMES_BOLD_ITALIC - Times bold-italic.
FL_SYMBOL - Standard symbol font.
FL_SCREEN - Default monospaced screen font.
FL_SCREEN_BOLD - Default monospaced bold screen font.
FL_ZAPF_DINGBATS - Zapf-dingbats font.
 
Odgovor na temu

NeznamTkoSam

Član broj: 39660
Poruke: 279
*.cmu.carnet.hr.



Profil

icon Re: FLTK - vise fontova11.02.2005. u 20:23 - pre 232 meseci
Molim te, mozes li mi dati link gdje je taj CIJELI popis fontova?
btw, kako da napravim vlastiti font?
 
Odgovor na temu

Dejan Lozanovic
Dejan Lozanovic
Beograd

Član broj: 691
Poruke: 2325
*.verat.net.

Jabber: null@elitesecurity.org
Sajt: speedy-order.com


+75 Profil

icon Re: FLTK - vise fontova11.02.2005. u 21:31 - pre 232 meseci
cekaj malo kako si ti skinuo uopste FLTK kao gotov paket ili kao iz source-a, fltk je pun primera svi primeri se nalaze unutar fltk direktorijuma pa ima direktorijum test.

I od tamo ti saljem source za fltk 2.0 i kako da dobijes listu svih fontova.
Prikačeni fajlovi
 
Odgovor na temu

NeznamTkoSam

Član broj: 39660
Poruke: 279
*.cmu.carnet.hr.



Profil

icon Re: FLTK - vise fontova12.02.2005. u 21:43 - pre 232 meseci
Pri kompajliranju dobivam gresku:

Compiler: Default compiler
Building Makefile: "C:\Documents and Settings\Glavina\Desktop\Nova mapa\Makefile.win"
Executing make...
make.exe -f "C:\Documents and Settings\Glavina\Desktop\Nova mapa\Makefile.win" all
g++.exe -c ../fonts.cxx -o ../fonts.o -I"C:/wxdev-cpp/include/c++/3.3.1" -I"C:/wxdev-cpp/include/c++/3.3.1/mingw32" -I"C:/wxdev-cpp/include/c++/3.3.1/backward" -I"C:/wxdev-cpp/lib/gcc-lib/mingw32/3.3.1/include" -I"C:/wxdev-cpp/include"

../fonts.cxx: In member function `virtual void FontDisplay::draw()':
../fonts.cxx:50: error: `Rectangle' undeclared in namespace `fltk'

make.exe: *** [../fonts.o] Error 1

Execution terminated
 
Odgovor na temu

Dejan Lozanovic
Dejan Lozanovic
Beograd

Član broj: 691
Poruke: 2325
*.vdial.verat.net.

Jabber: null@elitesecurity.org
Sajt: speedy-order.com


+75 Profil

icon Re: FLTK - vise fontova13.02.2005. u 10:26 - pre 232 meseci
Koju ferziju fltk biblioteke koristis ? onaj source od ranije je bio za fltk 2.0 a ovaj sada sto cu ti poslati je primer za fltk 1.1.x. Usput preporucujem da se prebacis na FLTK 2.0 jer on radi sa UNICODE znakovima, dok 1.1x mora da se patchuje da bi radio sa UTF-8.

Prikačeni fajlovi
 
Odgovor na temu

NeznamTkoSam

Član broj: 39660
Poruke: 279
*.cmu.carnet.hr.



Profil

icon Re: FLTK - vise fontova13.02.2005. u 19:47 - pre 232 meseci
Sada radi, hvala.
 
Odgovor na temu

Dejan Lozanovic
Dejan Lozanovic
Beograd

Član broj: 691
Poruke: 2325
195.178.35.*

Jabber: null@elitesecurity.org
Sajt: speedy-order.com


+75 Profil

icon Re: FLTK - vise fontova14.02.2005. u 08:37 - pre 232 meseci
znaci da imas staru i bajatu verziju fltk 1.1, moj savet je da odes na www.fltk.org i da tamo skines verziju 2.0, veruj mi isplati se.

Procedura je sledeca, prvo skines subversion program,
Code:

http://subversion.tigris.org/s...rojectDocumentList?folderID=91


zatim kreiras direktorijum gde zelis da se skine source pa onda u command promtu odes u taj direktorijum i kucas

Code:

svn co http://svn.easysw.com/public/fltk/fltk/trunk/ fltk


I nakon toga iskompajliras biblioteku, opet ostaje pitanje koji kompajler koristis :), ukoliko je u pitanju Visual C++ pogledaj odavde video tutorial kako da uradis to.

http://seriss.com/people/erco/fltk-videos/

u suprotnom procitaj readme fajlove, koliko vidim ima i gotove fajlove za pravljenje dev-c++ paketa.

Ujedno pogledaj i sajt

www.fltk.net naci ces tamo dosta korisnih linkova i dokumentaciju u CHM formatu :) pa uzivaj :)
 
Odgovor na temu

leka
Dejan Lekić
senior software engineer, 3Developers
Ltd.
London, UK

Član broj: 234
Poruke: 2534
..31.216.81.gus.vf.siwnet.net.

Sajt: dejan.lekic.org


+2 Profil

icon Re: FLTK - vise fontova19.02.2005. u 16:51 - pre 232 meseci
Imenjace, ne treba mu Subversion da bi skinuo sors ako nece. Na http://www.fltk.net moze skinuti svezi snapshot u vidu .tar.bz2 fajla... :) Pise: "FLTK 2.0.0 CVS Snapshots (latest FLTK2 source". Khm, moracu da izmenim sajt da pise "SVN Snapshots"... ;)
Dejan Lekic
software engineer, MySQL/PgSQL DBA, sysadmin
 
Odgovor na temu

Dejan Lozanovic
Dejan Lozanovic
Beograd

Član broj: 691
Poruke: 2325
*.vdial.verat.net.

Jabber: null@elitesecurity.org
Sajt: speedy-order.com


+75 Profil

icon Re: FLTK - vise fontova19.02.2005. u 17:09 - pre 232 meseci
Citat:
leka: Imenjace, ne treba mu Subversion da bi skinuo sors ako nece. Na http://www.fltk.net moze skinuti svezi snapshot u vidu .tar.bz2 fajla... :) Pise: "FLTK 2.0.0 CVS Snapshots (latest FLTK2 source". Khm, moracu da izmenim sajt da pise "SVN Snapshots"... ;)


Neazuran si :)
 
Odgovor na temu

leka
Dejan Lekić
senior software engineer, 3Developers
Ltd.
London, UK

Član broj: 234
Poruke: 2534
..31.216.81.gus.vf.siwnet.net.

Sajt: dejan.lekic.org


+2 Profil

icon Re: FLTK - vise fontova19.02.2005. u 20:46 - pre 232 meseci
Ma bitno je da krontab radi posao svake noci, i da pravi dobre pakete... :D - Sta pise tamo kao link nije preterano bitno. Btw. radim redizajn www.fltk.net-a i ubacujem par originalnih ideja.
Dejan Lekic
software engineer, MySQL/PgSQL DBA, sysadmin
 
Odgovor na temu

NeznamTkoSam

Član broj: 39660
Poruke: 279
*.cmu.carnet.hr.



Profil

icon Re: FLTK - vise fontova17.03.2005. u 18:15 - pre 231 meseci
Code:
#include <FL/Fl.H>
#include <FL/Fl_Window.H>
#include <FL/Fl_Button.H>

int font = 0;
Fl_Window *window;
Fl_Button *b;
Fl_Button *name;

void change_font(void*) {
    font++;
    b->labelfont(font);
    name->label(Fl::get_font_name((Fl_Font)font));
    b->redraw();
    name->redraw();
    Fl::repeat_timeout(0.3, change_font);
}

int main() {
    Fl::set_fonts("*");
    window = new Fl_Window(300, 180);
    window->begin();
    b = new Fl_Button(0, 0, 300, 100, "AaBbCcDdEe");
    b->labelfont(font);
    b->labelsize(30);
    name = new Fl_Button(0, 100, 300, 80);
    name->label(Fl::get_font_name((Fl_Font)font));
    window->end();
    window->show();
    Fl::add_timeout(0.3, change_font);
    return Fl::run();
}
 
Odgovor na temu

leka
Dejan Lekić
senior software engineer, 3Developers
Ltd.
London, UK

Član broj: 234
Poruke: 2534
..31.216.81.gus.vf.siwnet.net.

Sajt: dejan.lekic.org


+2 Profil

icon Re: FLTK - vise fontova18.03.2005. u 20:40 - pre 231 meseci
Kod nije moj - nalazi se u /test direktorijumu unutar FLTK sors stabla.
Umesto neosnovane tvrdnje da FLTK "ima jako malo fontova" (jos jedna u nizu), trebalo je malo proci kroz /test direktorijum FLTK-a i nauciti ponesto - ili kroz dokumentaciju gde o listanju fontova i prici o gore navedenim makroima (za fontove koji se najcesce koriste) imas na nekoliko mesta.
( U pitanju je FLTK 2.0 kod. )
Code:

#include <fltk/run.h>
#include <fltk/Window.h>
#include <fltk/Browser.h>
#include <fltk/CheckButton.h>
#include <fltk/draw.h>
#include <fltk/Font.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

fltk::Window *form;

class FontDisplay : public fltk::Widget {
  void draw();
public:
  fltk::Font* font; unsigned size; const char* encoding;
  FontDisplay(fltk::Box* B, int X, int Y, int W, int H, const char* L = 0) :
    fltk::Widget(X,Y,W,H,L) {box(B); font = 0; size = 14;}
};

fltk::Widget* id_box;

void FontDisplay::draw() {
  draw_box();
  fltk::push_clip(fltk::Rectangle(2,2,w()-2,h()-2));
  const char* saved_encoding = fltk::get_encoding();
  fltk::set_encoding(encoding);
  fltk::setfont(font, size);
  id_box->label(fltk::Font::current_name());
  id_box->redraw();
  fltk::setcolor(fltk::BLACK);
  char buffer[32];
  for (int Y = 1; Y < 8; Y++) {
    for (int X = 0; X < 32; X++) buffer[X] = (32*Y+X);
    fltk::drawtext(buffer, 32, 3, 3+(size+leading())*Y);
  }
  fltk::set_encoding(saved_encoding);
  fltk::pop_clip();
}

FontDisplay *textobj;

fltk::Browser *fontobj, *sizeobj, *encobj;

fltk::Font** fonts; // list returned by fltk

fltk::Group *button_group;
fltk::CheckButton* bold_button, *italic_button;

int pickedsize = 14;

void font_cb(fltk::Widget *, long) {
  int fn = fontobj->value();
//printf("font: %d    name: %s   bigname: %s\n", fn, fonts[fn]->name(), fonts[fn]->system_name());

  fltk::Font* f = fonts[fn];
  if (f->bold() == f) bold_button->deactivate();
  else bold_button->activate();
  if (f->italic() == f) italic_button->deactivate();
  else italic_button->activate();
  if (bold_button->value()) f = f->bold();
  if (italic_button->value()) f = f->italic();
  textobj->font = f;

  char saved[30];
  if (textobj->encoding)
    strncpy(saved, textobj->encoding, 29);
  else
    saved[0] = 0;
  encobj->clear();
  const char** encodings; int ne = f->encodings(encodings);
  int picked = -1;
  int iso8859 = 0;
  for (int i = 0; i < ne; i++) {
    encobj->add(encodings[i]);
    if (!strcmp(encodings[i], saved)) picked = i;
    if (!strcmp(encodings[i], fltk::get_encoding())) iso8859 = i;
  }
  if (picked < 0) picked = iso8859;
  textobj->encoding = encodings[picked];
  encobj->value(picked);

  sizeobj->clear();
  int *s; int n = f->sizes(s);
  if (!n) {
    // no sizes (this only happens on X)
    fltk::setfont(f, pickedsize);
    textobj->size = (int)fltk::getsize();
  } else if (s[0] == 0) {
    // many sizes;
    int j = 1;
    for (int i = 1; i<64 || i<s[n-1]; i++) {
      char buf[20];
      if (j < n && i==s[j]) {sprintf(buf,"@b;%d",i); j++;}
      else sprintf(buf,"%d",i);
      sizeobj->add(buf);
    }
    sizeobj->value(pickedsize-1);
    textobj->size = pickedsize;
  } else {
    // some sizes
    int w = 0;
    for (int i = 0; i < n; i++) {
      if (s[i]<=pickedsize) w = i;
      char buf[20];
      sprintf(buf,"@b;%d",s[i]);
      sizeobj->add(buf);
    }
    sizeobj->value(w);
    textobj->size = s[w];
  }
  encobj->redraw();
  sizeobj->redraw();
  textobj->redraw();
  button_group->redraw();
}

void encoding_cb(fltk::Widget *, long) {
  int i = encobj->value();
// CET - FIXME - new browser code has value starting from 0!
//  if (!i) return;
  textobj->encoding = encobj->child(i)->label();
  textobj->redraw();
}

void size_cb(fltk::Widget *, long) {
  int i = sizeobj->value();
// CET - FIXME - new browser code has value starting from 0!
//  if (!i) return;
  const char *c = sizeobj->child(i)->label();
  while (*c < '0' || *c > '9') c++;
  pickedsize = atoi(c);
  textobj->size = pickedsize;
  textobj->redraw();
}

void create_the_forms() {
  form = new fltk::Window(550,390);
  form->set_double_buffer();
  form->begin();
  id_box = new fltk::Widget(10, 172, 530, 15);
  id_box->box(fltk::ENGRAVED_BOX);
  id_box->labelsize(10);
  id_box->labelfont(fltk::COURIER);
  id_box->set_flag(fltk::ALIGN_INSIDE|fltk::ALIGN_CLIP|fltk::ALIGN_LEFT);
  textobj = new FontDisplay(fltk::ENGRAVED_BOX,10,10,530,160);
  textobj->clear_flag(fltk::ALIGN_MASK);
  textobj->set_flag(fltk::ALIGN_TOP|fltk::ALIGN_LEFT|fltk::ALIGN_INSIDE|fltk::ALIGN_CLIP);
  button_group = new fltk::Group(10, 190, 140, 20);
  button_group->begin();
  bold_button = new fltk::CheckButton(0, 0, 70, 20, "Bold");
  bold_button->labelfont(bold_button->labelfont()->bold());
  bold_button->callback(font_cb, 1);
  italic_button = new fltk::CheckButton(70, 0, 70, 20, "Italic");
  italic_button->labelfont(italic_button->labelfont()->italic());
  italic_button->callback(font_cb, 1);
  button_group->end();
  fontobj = new fltk::Browser(10, 210, 280, 170);
  fontobj->when(fltk::WHEN_CHANGED);
  fontobj->callback(font_cb);
  form->resizable(fontobj);
  encobj = new fltk::Browser(300, 210, 100, 170);
  encobj->when(fltk::WHEN_CHANGED);
  encobj->callback(encoding_cb, 1);
  sizeobj = new fltk::Browser(410, 210, 130, 170);
  sizeobj->when(fltk::WHEN_CHANGED);
  sizeobj->callback(size_cb);
  form->end();
}

#include <fltk/ask.h>

int main(int argc, char **argv) {
  create_the_forms();
  int numfonts = fltk::list_fonts(fonts);
  for (int i = 0; i < numfonts; i++) fontobj->add(fonts[i]->name());
  fontobj->value(0);
  textobj->encoding = fltk::get_encoding();
  font_cb(fontobj,0);
  form->show(argc,argv);
  return fltk::run();
}


Dejan Lekic
software engineer, MySQL/PgSQL DBA, sysadmin
 
Odgovor na temu

[es] :: C/C++ programiranje :: FLTK - vise fontova

[ Pregleda: 3606 | Odgovora: 12 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.