Merge branch 'branch-1.3' of https://github.com/fltk/fltk into branch-1.3
This commit is contained in:
commit
a53dbee5e9
6
.gitattributes
vendored
6
.gitattributes
vendored
@ -20,13 +20,15 @@ makesrcdist export-ignore eol=lf
|
||||
|
||||
# fluid files (eol=lf or text?)
|
||||
|
||||
#*FIXME* *.fl eol=lf
|
||||
*.fl eol=lf
|
||||
|
||||
# shell scripts etc. with Unix line endings (lf)
|
||||
|
||||
*.ac eol=lf
|
||||
*.in eol=lf
|
||||
*.desktop eol=lf
|
||||
*.sh eol=lf
|
||||
|
||||
fltk-config.in eol=lf
|
||||
|
||||
documentation/make_pdf eol=lf
|
||||
@ -38,8 +40,6 @@ misc/update_config_scripts eol=lf
|
||||
|
||||
*.rc eol=crlf
|
||||
|
||||
ide/AndroidStudio3/gradlew.rename_to_bat eol=crlf
|
||||
|
||||
# binary files
|
||||
|
||||
*.ico binary
|
||||
|
47
CHANGES
47
CHANGES
@ -1,15 +1,26 @@
|
||||
|
||||
CHANGES IN FLTK 1.3.5 RELEASED: ??? ?? 2018
|
||||
CHANGES IN FLTK 1.3.5rc1 RELEASED: Jan ?? 2019
|
||||
|
||||
|
||||
New features and enhancements (highlights)
|
||||
|
||||
- Add support for macOS 10.13 "High Sierra" and 10.14 "Mojave".
|
||||
- Add FL/platform.H for compatibility with FLTK 1.4 and higher.
|
||||
- Improve OpenGL(3+) support.
|
||||
- Improve Cairo support and (CMake) Cairo detection.
|
||||
- Improve desktop scaling support for HiDPI screens.
|
||||
Note: FLTK application scaling is available in FLTK 1.4.0.
|
||||
|
||||
Bug fixes and other improvements
|
||||
|
||||
- Fix Fl_GIF_Image Color Table handling (STR 3491).
|
||||
- Make sure not to access Fl_Menu_ widgets if the widget gets
|
||||
deleted while the menu (pulldown) is open (STR #3503).
|
||||
- Fixed CMake build (fluid) on case sensitive macOS file systems.
|
||||
- Windows/OpenGL: improved pixel format detection (STR #3119).
|
||||
- Added support for MacOS 10.14 "Mojave": all drawing to windows is done
|
||||
deleted while the menu (pulldown) is open (STR 3503).
|
||||
- Fix CMake build (fluid) on case sensitive macOS file systems.
|
||||
- Windows/OpenGL: improve pixel format detection (STR 3119).
|
||||
- Add support for macOS 10.14 "Mojave": all drawing to windows is done
|
||||
through "layer-backed views" when the app is linked to SDK 10.14.
|
||||
- MacOS platform: fix regression in OS 10.13 where an unbundled app
|
||||
- MacOS platform: fix regression in macOS 10.13 where an unbundled app
|
||||
had its system menu bar unresponsive.
|
||||
- MacOS 10.10 platform: Fl_Window::fullscreen() and fullscreen_off()
|
||||
no longer call Fl_Window::hide() + Fl_Window::show().
|
||||
@ -18,31 +29,29 @@ Bug fixes and other improvements
|
||||
the possibility to turn an Fl_Gl_Window fullscreen on and off.
|
||||
- MacOS platform: Support \r\n as end of line used by recent
|
||||
MS Office apps in clipboard.
|
||||
- Add FL/platform.H for compatibility with FLTK 1.4 and higher.
|
||||
This file replaces FL/x.H in FLTK 1.4.0.
|
||||
- Fix Fl_Text_Editor overstrike mode (STR #3463).
|
||||
- Fix Fl_Text_Editor overstrike mode (STR 3463).
|
||||
- More consistent and optimized "gleam" scheme box drawing.
|
||||
- Fix a MinGW build error with new MinGW versions as of Feb 2018
|
||||
(undefined S_OK and __FD_ISSET), see STR #3454.
|
||||
(undefined S_OK and __FD_ISSET), see STR 3454.
|
||||
- Windows/CMake: Add missing definition of WIN32 for Windows builds.
|
||||
This seems to be necessary for VS2017 and other compilers that
|
||||
don't #define WIN32, but FLTK relies on this preprocessor macro.
|
||||
Autoconf/configure and bundled IDE files #define WIN32 as well.
|
||||
- Fix illegal memory access after free when closing fluid (valgrind
|
||||
reports "Invalid read of size 4"), see also STR #3427.
|
||||
- Fix crash when closing fluid with Fl_Table (STR #3427).
|
||||
reports "Invalid read of size 4"), see also STR 3427.
|
||||
- Fix crash when closing fluid with Fl_Table (STR 3427).
|
||||
- Fix ignored buffer pre-allocation (requestedSize) in Fl_Text_Buffer.
|
||||
See fltk.general "Fl_Text_Buffer constructor bug" on Dec 5, 2016.
|
||||
- Fix Fl_Browser background and text color parsing (STR #3376).
|
||||
- Fix Windows CreateDC/DeleteDC mismatch (STR #3373).
|
||||
- Updated bundled configure scripts config.guess and config.sub.
|
||||
- Fix Fl_Browser background and text color parsing (STR 3376).
|
||||
- Fix Windows CreateDC/DeleteDC mismatch (STR 3373).
|
||||
- Update bundled configure scripts config.guess and config.sub.
|
||||
- Fix configure --enable-cairo --enable-cairoext,
|
||||
see report in fltk.general:
|
||||
https://groups.google.com/forum/#!topic/fltkgeneral/x80qQ6wt0s4
|
||||
- Fix for MacOS timer implementation (STR #3387).
|
||||
- Fix for drop-to-FLTK-widget under MSWindows when the desktop is
|
||||
rescaled (STR #3390).
|
||||
- Added support for MacOS 10.13 "High Sierra". Subwindows don't
|
||||
- Fix macOS timer implementation (STR 3387).
|
||||
- Fix drop-to-FLTK-widget under MSWindows when the desktop is
|
||||
rescaled (STR 3390).
|
||||
- Add support for macOS 10.13 "High Sierra". Subwindows don't
|
||||
move correctly under 10.13 without this fix.
|
||||
|
||||
|
||||
|
@ -99,27 +99,33 @@ include(FindPkgConfig)
|
||||
|
||||
option(OPTION_CAIRO "use lib Cairo" OFF)
|
||||
option(OPTION_CAIROEXT
|
||||
"use FLTK code instrumentation for cairo extended use" OFF
|
||||
"use FLTK code instrumentation for Cairo extended use" OFF
|
||||
)
|
||||
|
||||
if(OPTION_CAIRO OR OPTION_CAIROEXT AND LIB_CAIRO)
|
||||
if ((OPTION_CAIRO OR OPTION_CAIROEXT) AND LIB_CAIRO)
|
||||
pkg_search_module(PKG_CAIRO cairo)
|
||||
endif(OPTION_CAIRO OR OPTION_CAIROEXT AND LIB_CAIRO)
|
||||
endif ((OPTION_CAIRO OR OPTION_CAIROEXT) AND LIB_CAIRO)
|
||||
|
||||
if(PKG_CAIRO_FOUND)
|
||||
set(FLTK_HAVE_CAIRO 1)
|
||||
if (PKG_CAIRO_FOUND)
|
||||
set (FLTK_HAVE_CAIRO 1)
|
||||
add_subdirectory(cairo)
|
||||
list(APPEND FLTK_LDLIBS -lcairo -lpixman-1)
|
||||
include_directories(${PKG_CAIRO_INCLUDE_DIRS})
|
||||
string(REPLACE ";" " " CAIROFLAGS "${PKG_CAIRO_CFLAGS}")
|
||||
endif(PKG_CAIRO_FOUND)
|
||||
endif (PKG_CAIRO_FOUND)
|
||||
|
||||
if(LIB_CAIRO AND OPTION_CAIROEXT AND PKG_CAIRO_FOUND)
|
||||
if (LIB_CAIRO AND OPTION_CAIROEXT AND PKG_CAIRO_FOUND)
|
||||
set(FLTK_USE_CAIRO 1)
|
||||
set(FLTK_CAIRO_FOUND TRUE)
|
||||
else()
|
||||
set(FLTK_CAIRO_FOUND FALSE)
|
||||
endif(LIB_CAIRO AND OPTION_CAIROEXT AND PKG_CAIRO_FOUND)
|
||||
endif (LIB_CAIRO AND OPTION_CAIROEXT AND PKG_CAIRO_FOUND)
|
||||
|
||||
if ((OPTION_CAIRO OR OPTION_CAIROEXT) AND NOT PKG_CAIRO_FOUND)
|
||||
message(STATUS "*** Cairo was requested but not found - please install Cairo ...")
|
||||
message(STATUS "*** or disable options OPTION_CAIRO and OPTION_CAIRO_EXT")
|
||||
message(FATAL_ERROR "*** Terminating: missing Cairo libs or headers")
|
||||
endif ((OPTION_CAIRO OR OPTION_CAIROEXT) AND NOT PKG_CAIRO_FOUND)
|
||||
|
||||
#######################################################################
|
||||
set(HAVE_GL LIB_GL OR LIB_MesaGL)
|
||||
|
@ -36,8 +36,9 @@
|
||||
Character composition is done using dead keys and/or a compose
|
||||
key as defined by the operating system.
|
||||
<P>
|
||||
<TABLE WIDTH=90% BORDER=1 SUMMARY="Fl_Input keyboard and mouse bindings.">
|
||||
<CAPTION ALIGN=TOP>Fl_Input keyboard and mouse bindings.</CAPTION>
|
||||
<!-- DON'T use the class name in the caption, or doxygen 1.8.x will fail. -->
|
||||
<TABLE WIDTH="90%" BORDER="1" SUMMARY="Fl_Input keyboard and mouse bindings.">
|
||||
<CAPTION ALIGN="TOP">Keyboard and mouse bindings.</CAPTION>
|
||||
<TR><TD NOWRAP="NOWRAP" WIDTH="1%">
|
||||
<B>Mouse button 1</B>
|
||||
</TD><TD>
|
||||
@ -75,7 +76,7 @@
|
||||
<P>
|
||||
|
||||
<TABLE WIDTH="90%" BORDER="1" SUMMARY="Fl_Input platform specific keyboard bindings.">
|
||||
<CAPTION ALIGN=TOP>Fl_Input platform specific keyboard bindings.</CAPTION>
|
||||
<CAPTION ALIGN="TOP">Platform specific keyboard bindings.</CAPTION>
|
||||
<TR>
|
||||
<TD NOWRAP="NOWRAP" WIDTH="1%"><B> Windows/Linux </B></TD>
|
||||
<TD NOWRAP="NOWRAP" WIDTH="1%"><B> Mac </B></TD>
|
||||
|
@ -235,7 +235,7 @@
|
||||
/// The following table lists keyboard bindings for navigating the tree:
|
||||
///
|
||||
/// <TABLE BORDER="1" SUMMARY="Fl_Tree keyboard bindings.">
|
||||
/// <CAPTION ALIGN=TOP>Fl_Tree keyboard bindings.</CAPTION>
|
||||
/// <CAPTION ALIGN=TOP>Keyboard bindings.</CAPTION>
|
||||
/// <TR>
|
||||
/// <TD WIDTH=25% ALIGN=CENTER><B>Keyboard</B></TD>
|
||||
/// <TD WIDTH=25% ALIGN=CENTER><B>FL_TREE_SELECT_MULTI</B></TD>
|
||||
|
1212
KNOWN_BUGS.html
1212
KNOWN_BUGS.html
File diff suppressed because it is too large
Load Diff
@ -1,44 +1,137 @@
|
||||
\documentclass[a4paper]{book}
|
||||
\usepackage{a4wide}
|
||||
\usepackage{makeidx}
|
||||
\usepackage{fancyhdr}
|
||||
% Latex header for FLTK generated by doxygen 1.8.13
|
||||
\batchmode
|
||||
\documentclass[twoside]{book}
|
||||
|
||||
% Packages required by doxygen
|
||||
\usepackage{fixltx2e}
|
||||
\usepackage{calc}
|
||||
\usepackage{doxygen}
|
||||
\usepackage[export]{adjustbox} % also loads graphicx
|
||||
\usepackage{graphicx}
|
||||
\usepackage[utf8]{inputenc}
|
||||
\usepackage{makeidx}
|
||||
\usepackage{multicol}
|
||||
\usepackage{float}
|
||||
\usepackage{multirow}
|
||||
\PassOptionsToPackage{warn}{textcomp}
|
||||
\usepackage{textcomp}
|
||||
\usepackage{alltt}
|
||||
\usepackage{times}
|
||||
\usepackage[nointegrals]{wasysym}
|
||||
\usepackage[table]{xcolor}
|
||||
|
||||
% Font selection
|
||||
\usepackage[T1]{fontenc}
|
||||
\usepackage[scaled=.90]{helvet}
|
||||
\usepackage{courier}
|
||||
\usepackage{amssymb}
|
||||
\usepackage{sectsty}
|
||||
\renewcommand{\familydefault}{\sfdefault}
|
||||
\allsectionsfont{%
|
||||
\fontseries{bc}\selectfont%
|
||||
\color{darkgray}%
|
||||
}
|
||||
\renewcommand{\DoxyLabelFont}{%
|
||||
\fontseries{bc}\selectfont%
|
||||
\color{darkgray}%
|
||||
}
|
||||
\newcommand{\+}{\discretionary{\mbox{\scriptsize$\hookleftarrow$}}{}{}}
|
||||
|
||||
% Page & text layout
|
||||
\usepackage{geometry}
|
||||
\geometry{%
|
||||
a4paper,%
|
||||
top=2.5cm,%
|
||||
bottom=2.5cm,%
|
||||
left=2.5cm,%
|
||||
right=2.5cm%
|
||||
}
|
||||
\tolerance=750
|
||||
\hfuzz=15pt
|
||||
\hbadness=750
|
||||
\setlength{\emergencystretch}{15pt}
|
||||
\setlength{\parindent}{0cm}
|
||||
\setlength{\parskip}{3ex plus 2ex minus 2ex}
|
||||
\makeatletter
|
||||
\renewcommand{\paragraph}{%
|
||||
\@startsection{paragraph}{4}{0ex}{-1.0ex}{1.0ex}{%
|
||||
\normalfont\normalsize\bfseries\SS@parafont%
|
||||
}%
|
||||
}
|
||||
\renewcommand{\subparagraph}{%
|
||||
\@startsection{subparagraph}{5}{0ex}{-1.0ex}{1.0ex}{%
|
||||
\normalfont\normalsize\bfseries\SS@subparafont%
|
||||
}%
|
||||
}
|
||||
\makeatother
|
||||
|
||||
% Headers & footers
|
||||
\usepackage{fancyhdr}
|
||||
\pagestyle{fancyplain}
|
||||
\fancyhead[LE]{\fancyplain{}{\bfseries\thepage}}
|
||||
\fancyhead[CE]{\fancyplain{}{}}
|
||||
\fancyhead[RE]{\fancyplain{}{\bfseries\leftmark}}
|
||||
\fancyhead[LO]{\fancyplain{}{\bfseries\rightmark}}
|
||||
\fancyhead[CO]{\fancyplain{}{}}
|
||||
\fancyhead[RO]{\fancyplain{}{\bfseries\thepage}}
|
||||
\fancyfoot[LE]{\fancyplain{}{}}
|
||||
\fancyfoot[CE]{\fancyplain{}{}}
|
||||
\fancyfoot[RE]{\fancyplain{}{\bfseries\scriptsize Generated by Doxygen }}
|
||||
\fancyfoot[LO]{\fancyplain{}{\bfseries\scriptsize Generated by Doxygen }}
|
||||
\fancyfoot[CO]{\fancyplain{}{}}
|
||||
\fancyfoot[RO]{\fancyplain{}{}}
|
||||
\renewcommand{\footrulewidth}{0.4pt}
|
||||
\renewcommand{\chaptermark}[1]{%
|
||||
\markboth{#1}{}%
|
||||
}
|
||||
\renewcommand{\sectionmark}[1]{%
|
||||
\markright{\thesection\ #1}%
|
||||
}
|
||||
|
||||
% Indices & bibliography
|
||||
\usepackage{natbib}
|
||||
\usepackage[titles]{tocloft}
|
||||
\setcounter{tocdepth}{3}
|
||||
\setcounter{secnumdepth}{5}
|
||||
\makeindex
|
||||
|
||||
% Hyperlinks (required, but should be loaded last)
|
||||
\usepackage{ifpdf}
|
||||
\ifpdf
|
||||
\usepackage[pdftex,
|
||||
pagebackref=true,
|
||||
colorlinks=true,
|
||||
linkcolor=blue,
|
||||
unicode
|
||||
]{hyperref}
|
||||
\usepackage[pdftex,pagebackref=true]{hyperref}
|
||||
\else
|
||||
\usepackage[ps2pdf,
|
||||
pagebackref=true,
|
||||
colorlinks=true,
|
||||
linkcolor=blue,
|
||||
unicode
|
||||
]{hyperref}
|
||||
\usepackage{pspicture}
|
||||
\usepackage[ps2pdf,pagebackref=true]{hyperref}
|
||||
\fi
|
||||
\usepackage[utf8]{inputenc}
|
||||
\usepackage{doxygen}
|
||||
\makeindex
|
||||
\setcounter{tocdepth}{1}
|
||||
\renewcommand{\footrulewidth}{0.4pt}
|
||||
\hypersetup{%
|
||||
colorlinks=true,%
|
||||
linkcolor=blue,%
|
||||
citecolor=blue,%
|
||||
unicode%
|
||||
}
|
||||
|
||||
% Custom commands
|
||||
\newcommand{\clearemptydoublepage}{%
|
||||
\newpage{\pagestyle{empty}\cleardoublepage}%
|
||||
}
|
||||
|
||||
\usepackage{caption}
|
||||
\captionsetup{labelsep=space,justification=centering,font={bf},singlelinecheck=off,skip=4pt,position=top}
|
||||
|
||||
%===== C O N T E N T S =====
|
||||
|
||||
\begin{document}
|
||||
|
||||
% Titlepage & ToC
|
||||
\hypersetup{pageanchor=false,
|
||||
bookmarksnumbered=true,
|
||||
pdfencoding=unicode
|
||||
}
|
||||
\pagenumbering{alph}
|
||||
\begin{titlepage}
|
||||
\vspace*{4.5cm}
|
||||
\begin{center}
|
||||
\vspace*{5cm}
|
||||
\begin{center}%
|
||||
{\Huge FLTK @FL_VERSION@ Programming Manual}\\
|
||||
\vspace*{2cm}
|
||||
\begin{ImageNoCaption}
|
||||
\mbox{\includegraphics[width=6cm]{FL200}}
|
||||
\end{ImageNoCaption}\\
|
||||
\begin{DoxyImageNoCaption}
|
||||
\mbox{\includegraphics[width=6cm]{FL200.png}}
|
||||
\end{DoxyImageNoCaption}\\
|
||||
\vspace*{2cm}
|
||||
{\Large
|
||||
Revision 9 by F. Costantini, D. Gibson, M. Melcher, \\
|
||||
@ -46,11 +139,11 @@ A. Schlosser, B. Spitzak, and M. Sweet.}\\
|
||||
\vspace*{1.5cm}
|
||||
{\large Copyright 1998-@YEAR@ by Bill Spitzak and others.}\\
|
||||
\vspace*{0.75cm}
|
||||
{\Small
|
||||
{\small
|
||||
This software and manual are provided under the terms of the GNU Library General Public License.}\\
|
||||
{\Small
|
||||
{\small
|
||||
Permission is granted to reproduce this manual or any portion for any purpose,}\\
|
||||
{\Small
|
||||
{\small
|
||||
provided this copyright and permission notice are preserved.}\\
|
||||
\vspace*{2.5cm}
|
||||
{\large Generated by Doxygen @DOXY_VERSION@}\\
|
||||
@ -63,3 +156,6 @@ provided this copyright and permission notice are preserved.}\\
|
||||
\tableofcontents
|
||||
\clearemptydoublepage
|
||||
\pagenumbering{arabic}
|
||||
\hypersetup{pageanchor=true}
|
||||
|
||||
%--- Begin generated contents ---
|
||||
|
1
ide/.gitattributes
vendored
1
ide/.gitattributes
vendored
@ -4,6 +4,7 @@
|
||||
|
||||
# MS VC files with Windows line endings (crlf)
|
||||
|
||||
*.cmd eol=crlf
|
||||
*.dsp eol=crlf
|
||||
*.dsw eol=crlf
|
||||
*.filters eol=crlf
|
||||
|
@ -1,13 +1,13 @@
|
||||
@echo off
|
||||
echo Compiling fluid files ...
|
||||
pushd .
|
||||
cd ../../test
|
||||
if "%1"=="/D" goto debugmode
|
||||
..\fluid\fluid -c "%1"
|
||||
goto end
|
||||
|
||||
:debugmode:
|
||||
..\fluid\fluidd -c "%2"
|
||||
|
||||
:end
|
||||
popd
|
||||
@echo off
|
||||
echo Compiling fluid files ...
|
||||
pushd .
|
||||
cd ../../test
|
||||
if "%1"=="/D" goto debugmode
|
||||
..\fluid\fluid -c "%1"
|
||||
goto end
|
||||
|
||||
:debugmode:
|
||||
..\fluid\fluidd -c "%2"
|
||||
|
||||
:end
|
||||
popd
|
||||
|
@ -1,13 +1,13 @@
|
||||
@echo off
|
||||
echo Compiling fluid files ...
|
||||
pushd .
|
||||
cd ../../test
|
||||
if "%1"=="/D" goto debugmode
|
||||
..\fluid\fluid -c "%1"
|
||||
goto end
|
||||
|
||||
:debugmode:
|
||||
..\fluid\fluidd -c "%2"
|
||||
|
||||
:end
|
||||
popd
|
||||
@echo off
|
||||
echo Compiling fluid files ...
|
||||
pushd .
|
||||
cd ../../test
|
||||
if "%1"=="/D" goto debugmode
|
||||
..\fluid\fluid -c "%1"
|
||||
goto end
|
||||
|
||||
:debugmode:
|
||||
..\fluid\fluidd -c "%2"
|
||||
|
||||
:end
|
||||
popd
|
||||
|
60
makesrcdist
60
makesrcdist
@ -17,16 +17,24 @@
|
||||
# Use a version number as argument, e.g. "1.3.3" or "1.3.4rc2".
|
||||
# This can be used for local testing.
|
||||
#
|
||||
# Note: the release tarballs will be created from the current
|
||||
# 'HEAD' revision of your local Git repository.
|
||||
#
|
||||
# (3) Create distribution tarballs (final):
|
||||
#
|
||||
# makesrcdist <version> tag
|
||||
#
|
||||
# Same as (2), but create subversion tag with version number.
|
||||
# Same as (2), but create Git tag with version number.
|
||||
# Enter "tag" (verbatim) as 2nd argument.
|
||||
# This will create the subversion tag "release-<version>" for the
|
||||
# current revision in the FLTK subversion repository and export the
|
||||
# This will create the Git tag "release-<version>" for the
|
||||
# current revision in the (local) FLTK Git repository and export the
|
||||
# FLTK sources from this tag for creation of distribution files.
|
||||
#
|
||||
# Note: You need to 'git push' the Git tag manually when you
|
||||
# are satisfied with the result. You may use:
|
||||
# $ git push origin release-<version>
|
||||
# where '<version>' is the version number (argument #1)
|
||||
#
|
||||
# Note: define FLTK_TAR if you want to use a different compatible tar
|
||||
# command than "tar", e.g. to use "gtar" (bash syntax):
|
||||
# $ export FLTK_TAR="gtar"
|
||||
@ -37,25 +45,28 @@ if test "x$FLTK_TAR" != "x"; then
|
||||
TAR="$FLTK_TAR"
|
||||
fi
|
||||
|
||||
# these are the subversion and snapshot/download URL's currently in use:
|
||||
# These are the release and snapshot download URL's currently in use:
|
||||
|
||||
SVN='http://seriss.com/public/fltk/fltk'
|
||||
DOWNLOAD='http://fltk.org/pub/fltk'
|
||||
SNAPSHOT='http://fltk.org/pub/fltk/snapshots'
|
||||
VS=`cat VERSION | sed -e's/\([0-9]*\.[0-9]*\).*/\1/'`
|
||||
|
||||
DATE="`date +'%Y%m%d'`"
|
||||
|
||||
# VS = short version number ('major.minor'), for instance '1.4'.
|
||||
# Note: VS is used only for snapshot generation
|
||||
|
||||
VS="`cat VERSION | sed -e's/\([0-9]*\.[0-9]*\).*/\1/'`"
|
||||
|
||||
echo "Getting distribution..."
|
||||
|
||||
if test $# = 0 -o "x$1" = "xsnapshot"; then
|
||||
echo Updating for snapshot...
|
||||
svn up
|
||||
rev=`svnversion . | sed -e '1,$s/[a-zA-Z]//g'`
|
||||
version="${VS}svn"
|
||||
fileversion="${VS}.x-r$rev"
|
||||
echo Getting snapshot revision...
|
||||
rev="`git rev-parse --short=8 HEAD`"
|
||||
version="${VS}-git"
|
||||
fileversion="${VS}.x-${DATE}-$rev"
|
||||
fileurl="$SNAPSHOT/fltk-$fileversion.tar.gz"
|
||||
echo "fileversion = $fileversion"
|
||||
echo "fileurl = $fileurl"
|
||||
url="."
|
||||
else
|
||||
if test ! -e "documentation/html/"; then
|
||||
echo "ERROR: Please generate the HTML documentation before distributing:"
|
||||
@ -76,19 +87,16 @@ else
|
||||
fileversion=$1
|
||||
fileurl="$DOWNLOAD/$version/fltk-$fileversion-source.tar.gz"
|
||||
|
||||
if test "x$2" != "xtag"; then
|
||||
url="."
|
||||
else
|
||||
echo "Creating subversion tag 'release-$version' ..."
|
||||
url="$SVN/tags/release-$version"
|
||||
svn copy $SVN/branches/branch-${VS} "$url" \
|
||||
-m "Tag $version" || exit 1
|
||||
if test "x$2" = "xtag"; then
|
||||
echo "Creating Git tag 'release-$version' ..."
|
||||
git tag -a -m "Tag $version" release-$version || exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
echo Exporting $version...
|
||||
echo Exporting $version to /tmp/fltk-$version/...
|
||||
rm -rf /tmp/fltk-$version
|
||||
svn export $url /tmp/fltk-$version
|
||||
mkdir /tmp/fltk-$version
|
||||
git archive --format=tar HEAD | $TAR -C /tmp/fltk-$version -x --
|
||||
|
||||
if test $# != 0 -a "x$1" != "xsnapshot"; then
|
||||
echo "Copying HTML and PDF documentation..."
|
||||
@ -113,7 +121,6 @@ automake --add-missing --copy
|
||||
|
||||
echo Cleaning developer files...
|
||||
rm -rf OpenGL autom4te* bc5 config forms glut images packages themes
|
||||
rm -f makesrcdist
|
||||
|
||||
cd ..
|
||||
|
||||
@ -143,4 +150,13 @@ echo "Removing distribution directory..."
|
||||
|
||||
rm -rf fltk-$version
|
||||
|
||||
if test "x$2" = "xtag"; then
|
||||
echo ""
|
||||
echo "Don't forget to push the Git tag"
|
||||
echo "(assuming 'origin' as your remote Git repository):"
|
||||
echo ""
|
||||
echo "\$ git push origin release-$version"
|
||||
echo ""
|
||||
fi
|
||||
|
||||
echo "Done!"
|
||||
|
@ -3,7 +3,7 @@
|
||||
//
|
||||
// Fl_GIF_Image routines.
|
||||
//
|
||||
// Copyright 1997-2015 by Bill Spitzak and others.
|
||||
// Copyright 1997-2019 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
|
||||
@ -19,6 +19,16 @@
|
||||
//
|
||||
//
|
||||
|
||||
//
|
||||
// Reference: GIF89a Specification (links valid as of Jan 05, 2019):
|
||||
//
|
||||
// "GRAPHICS INTERCHANGE FORMAT(sm), Version 89a" (authoritative):
|
||||
// https://www.w3.org/Graphics/GIF/spec-gif89a.txt
|
||||
//
|
||||
// HTML version (non-authoritative):
|
||||
// https://web.archive.org/web/20160304075538/http://qalle.net/gif89a.php
|
||||
//
|
||||
|
||||
//
|
||||
// Include necessary header files...
|
||||
//
|
||||
@ -113,7 +123,12 @@ Fl_GIF_Image::Fl_GIF_Image(const char *infname) : Fl_Pixmap((char *const*)0) {
|
||||
uchar ch = NEXTBYTE;
|
||||
char HasColormap = ((ch & 0x80) != 0);
|
||||
int BitsPerPixel = (ch & 7) + 1;
|
||||
int ColorMapSize = 1 << BitsPerPixel;
|
||||
int ColorMapSize;
|
||||
if (HasColormap) {
|
||||
ColorMapSize = 2 << (ch & 7);
|
||||
} else {
|
||||
ColorMapSize = 0;
|
||||
}
|
||||
// int OriginalResolution = ((ch>>4)&7)+1;
|
||||
// int SortedTable = (ch&8)!=0;
|
||||
ch = NEXTBYTE; // Background Color index
|
||||
@ -129,10 +144,6 @@ Fl_GIF_Image::Fl_GIF_Image(const char *infname) : Fl_Pixmap((char *const*)0) {
|
||||
Green[i] = NEXTBYTE;
|
||||
Blue[i] = NEXTBYTE;
|
||||
}
|
||||
} else {
|
||||
Fl::warning("%s does not have a colormap.", infname);
|
||||
for (int i = 0; i < ColorMapSize; i++)
|
||||
Red[i] = Green[i] = Blue[i] = (uchar)(255 * i / (ColorMapSize-1));
|
||||
}
|
||||
|
||||
int CodeSize; /* Code size, init from GIF header, increases... */
|
||||
@ -179,10 +190,10 @@ Fl_GIF_Image::Fl_GIF_Image(const char *infname) : Fl_Pixmap((char *const*)0) {
|
||||
GETSHORT(Height);
|
||||
ch = NEXTBYTE;
|
||||
Interlace = ((ch & 0x40) != 0);
|
||||
if (ch&0x80) {
|
||||
// read local color map
|
||||
int n = 2<<(ch&7);
|
||||
for (i=0; i < n; i++) {
|
||||
if (ch & 0x80) { // image has local color table
|
||||
BitsPerPixel = (ch & 7) + 1;
|
||||
ColorMapSize = 2 << (ch & 7);
|
||||
for (i=0; i < ColorMapSize; i++) {
|
||||
Red[i] = NEXTBYTE;
|
||||
Green[i] = NEXTBYTE;
|
||||
Blue[i] = NEXTBYTE;
|
||||
@ -206,6 +217,27 @@ Fl_GIF_Image::Fl_GIF_Image(const char *infname) : Fl_Pixmap((char *const*)0) {
|
||||
ColorMapSize = 1 << BitsPerPixel;
|
||||
}
|
||||
|
||||
// Fix images w/o color table. The standard allows this and lets the
|
||||
// decoder choose a default color table. The standard recommends the
|
||||
// first two color table entries should be black and white.
|
||||
|
||||
if (ColorMapSize == 0) { // no global and no local color table
|
||||
Fl::warning("%s does not have a color table, using default.\n", infname);
|
||||
BitsPerPixel = CodeSize - 1;
|
||||
ColorMapSize = 1 << BitsPerPixel;
|
||||
Red[0] = Green[0] = Blue[0] = 0; // black
|
||||
Red[1] = Green[1] = Blue[1] = 255; // white
|
||||
for (int i = 2; i < ColorMapSize; i++) {
|
||||
Red[i] = Green[i] = Blue[i] = (uchar)(255 * i / (ColorMapSize - 1));
|
||||
}
|
||||
#if (0)
|
||||
// fill color table to maximum size
|
||||
for (int i = ColorMapSize; i < 256; i++) {
|
||||
Red[i] = Green[i] = Blue[i] = 0; // black
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
uchar *Image = new uchar[Width*Height];
|
||||
|
||||
int YC = 0, Pass = 0; /* Used to de-interlace the picture */
|
||||
|
144
test/sudoku.rc
144
test/sudoku.rc
@ -1,72 +1,72 @@
|
||||
//Microsoft Developer Studio generated resource script.
|
||||
//
|
||||
#include "sudokurc.h"
|
||||
|
||||
#define APSTUDIO_READONLY_SYMBOLS
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 2 resource.
|
||||
//
|
||||
//#include "afxres.h"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#undef APSTUDIO_READONLY_SYMBOLS
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// English (U.S.) resources
|
||||
|
||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
|
||||
#ifdef _WIN32
|
||||
//LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
||||
#pragma code_page(1252)
|
||||
#endif //_WIN32
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// TEXTINCLUDE
|
||||
//
|
||||
|
||||
1 TEXTINCLUDE DISCARDABLE
|
||||
BEGIN
|
||||
"icons.h\0"
|
||||
END
|
||||
|
||||
3 TEXTINCLUDE DISCARDABLE
|
||||
BEGIN
|
||||
"\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
2 TEXTINCLUDE DISCARDABLE
|
||||
BEGIN
|
||||
"#include ""afxres.h""\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Icon
|
||||
//
|
||||
|
||||
// Icon with lowest ID value placed first to ensure application icon
|
||||
// remains consistent on all systems.
|
||||
IDI_ICON ICON DISCARDABLE "sudoku.ico"
|
||||
#endif // English (U.S.) resources
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
|
||||
#ifndef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 3 resource.
|
||||
//
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#endif // not APSTUDIO_INVOKED
|
||||
|
||||
//Microsoft Developer Studio generated resource script.
|
||||
//
|
||||
#include "sudokurc.h"
|
||||
|
||||
#define APSTUDIO_READONLY_SYMBOLS
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 2 resource.
|
||||
//
|
||||
//#include "afxres.h"
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#undef APSTUDIO_READONLY_SYMBOLS
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// English (U.S.) resources
|
||||
|
||||
#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU)
|
||||
#ifdef _WIN32
|
||||
//LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US
|
||||
#pragma code_page(1252)
|
||||
#endif //_WIN32
|
||||
|
||||
#ifdef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// TEXTINCLUDE
|
||||
//
|
||||
|
||||
1 TEXTINCLUDE DISCARDABLE
|
||||
BEGIN
|
||||
"icons.h\0"
|
||||
END
|
||||
|
||||
3 TEXTINCLUDE DISCARDABLE
|
||||
BEGIN
|
||||
"\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
2 TEXTINCLUDE DISCARDABLE
|
||||
BEGIN
|
||||
"#include ""afxres.h""\r\n"
|
||||
"\0"
|
||||
END
|
||||
|
||||
#endif // APSTUDIO_INVOKED
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Icon
|
||||
//
|
||||
|
||||
// Icon with lowest ID value placed first to ensure application icon
|
||||
// remains consistent on all systems.
|
||||
IDI_ICON ICON DISCARDABLE "sudoku.ico"
|
||||
#endif // English (U.S.) resources
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
|
||||
#ifndef APSTUDIO_INVOKED
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// Generated from the TEXTINCLUDE 3 resource.
|
||||
//
|
||||
|
||||
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
#endif // not APSTUDIO_INVOKED
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user