fltk/test/unittest_viewport.cxx
Matthias Melcher db0a1f4bae
OpenGL implementation of all fl_ "Drawing Fast Shapes" graphics calls (#385)
* Fix build system for unites,

* Updated unittest to check OpenGL drawing.

Making sure that OpenGL drawing is exactly the same
as native drawing to make FLTK widget rendering
look the same in GL windows.

* Make OpenGL optional.

* Implemented clipping in OpenGL

* unites drawing fast shapes

* Fixed CMake

* Updating unittest.

Added tests for fl_pi and fl_arc (int)
Renamed tab to render complex shapes.

* Improved OpenGL FLTK drawing emulation.

* Fixed GTK ROUND DOWN BOX

* Fixing Makefile for unittest

* Correctly aligning OpenGL text.

* Fixed text alignment in GL windows.

Explained the "FLTK over GL " example in Cube.

* Overlapping test.

* Better GL graphics alignment.

* Drawing the focus rect.

* Adding Alpha Channel support for GL.

* Added FLTK-on-GL documentation.
2022-02-06 15:22:24 +01:00

52 lines
1.5 KiB
C++

//
// Unit tests for the Fast Light Tool Kit (FLTK).
//
// Copyright 1998-2010 by Bill Spitzak and others.
//
// This library is free software. Distribution and use rights are outlined in
// the file "COPYING" which should have been included with this file. If this
// file is missing or damaged, see the license at:
//
// https://www.fltk.org/COPYING.php
//
// Please see the following page on how to report bugs and issues:
//
// https://www.fltk.org/bugs.php
//
#include "unittests.h"
#include <FL/Fl_Box.H>
#include <FL/fl_draw.H>
//
//------- test viewport clipping ----------
//
class ViewportTest : public Fl_Box {
public:
static Fl_Widget *create() {
return new ViewportTest(TESTAREA_X, TESTAREA_Y, TESTAREA_W, TESTAREA_H);
}
ViewportTest(int x, int y, int w, int h) : Fl_Box(x, y, w, h) {
label("Testing Viewport Alignment\n\n"
"Only green lines should be visible.\n"
"If red lines are visible in the corners of this window,\n"
"your viewport alignment and clipping is off.\n"
"If there is a space between the green lines and the window border,\n"
"the viewport is off, but some clipping may be working.\n"
"Also, your window size may be off to begin with.");
align(FL_ALIGN_INSIDE|FL_ALIGN_CENTER|FL_ALIGN_WRAP);
box(FL_BORDER_BOX);
}
void show() {
Fl_Box::show();
mainwin->testAlignment(1);
}
void hide() {
Fl_Box::hide();
mainwin->testAlignment(0);
}
};
UnitTest viewport(kTestViewport, "Viewport Test", ViewportTest::create);