如何使用 fltk 使点出现
How to make a point appear using fltk?
创建一个窗口并在其中绘制一些形状后,我意识到我不能提出一个观点,而只是把它出现在窗口上。我已经搜索了手册,但我无法从中做出任何贡献。我使用的是 fltk 1.3.0。我该怎么做?
Fltk 附带了一堆有用的示例项目。如果您查看line_style示例,您可以轻松地将其简化为如下所示的绘图点:
#include <FL/Fl.H>
#include <FL/Fl_Window.H>
#include <FL/fl_draw.H>
class TestWindow : public Fl_Window {
void draw()
{
fl_color(255, 0, 0);
fl_begin_points();
fl_point(50, 50);
fl_point(51, 51);
fl_end_points();
}
public:
TestWindow(int w, int h, const char *l = 0)
: Fl_Window(w, h, l) {}
};
int main(int argc, char ** argv) {
Fl_Window *window = new TestWindow(200, 200);
window->end();
window->show(argc, argv);
return Fl::run();
}
但作为建议,将单个点直接绘制到窗口上很少是明智的做法。 在大多数情况下,绘制到图像/缓冲区然后显示它们是更好的选择。
编辑:
下面是将绘图代码放入 Main 函数的示例。
#include <FL/Fl.H>
#include <FL/Fl_Window.H>
#include <FL/fl_draw.H>
class TestWindow : public Fl_Window {
void draw() {}
public:
TestWindow(int w, int h, const char *l = 0) : Fl_Window(w, h, l) {}
};
int main(int argc, char ** argv) {
Fl_Window *window = new TestWindow(200, 200);
window->end();
window->show(argc, argv);
window->make_current();
fl_color(255, 0, 0);
fl_begin_points();
fl_point(50, 50);
fl_point(51, 51);
fl_end_points();
return Fl::run();
}
您应该注意手册中make_current
的免责声明
危险:增量更新很难调试和维护!
除了将其用于简单的练习之外,所有这些都不是好的做法。
基于之前对这个问题的回答,我在文档中找到了这个:
fl_begin_points(( 开始绘制点列表。 点通过 fl_vertex(( 添加到列表中
所以这是一些显示一些点的代码(我添加了更多来真正看到点(:
#include <FL/fl_draw.H>
#include <FL/Fl.H>
#include <FL/Fl_Window.H>
class Drawing : public Fl_Window {
void draw(){
fl_begin_points();
//adding cushion to points to be able to see them.
//center at 10,10
fl_vertex(9,9);
fl_vertex(9,10);
fl_vertex(9,11);
fl_vertex(10,9);
fl_vertex(10,10);
fl_vertex(10,11);
fl_vertex(11,9);
fl_vertex(11,10);
fl_vertex(11,11);
fl_end_points();
fl_color(FL_BLACK);
}
public:
Drawing(int w, int h, const char *l = 0) : Fl_Window(w, h, l){}
};
int main(int argc, char **argv){
Fl_Window *window = new Drawing(340,180);
window->end();
window->show(argc, argv);
return Fl::run();
}
相关文章:
- 使用 fltk 时,文本未显示在已编译的窗口中
- 我在窗口中有一个fltk Fl_Choice下拉菜单,但只能通过鼠标使用
- 如何使用Stroustrup的Fltk Text类调用变量?
- 如何使用 fltk 使点出现
- 在Linux中使用FLTK应用程序
- 是否可以使用标准的C 线程而不是FLTK超时来更新窗口
- 如何在FLTK中使用两个不同的小部件使用键盘箭头和鼠标单击
- 为什么 FLTK 窗口在调用 resize() 后无法使用鼠标调整大小
- 在Visual Studio 2012上安装和使用FLTK
- 使用 LLVM 的 libc++ 时,__1 符号从何而来?
- 在std::cout之后使用std::cin时,换行符从何而来
- 如何在box.get_string()中使用FLTK
- 如何使用 FLTK 显示 Unicode
- 使用 FLTK & C++:制作适合定义帧内图像的功能
- 如何使用FLTK在Windows、Mac OS X和Linux中使窗口透明
- 在MAC上使用FLTK的c++中的gdb错误
- 如何在Ubuntu下使用FLTK进行编译
- C++使用 FLTK 填充形状中的颜色不适用于圆圈
- 使用 FLTK 时 Stroustrup 的标头错误
- 使用FLTK与代码块…无法编译