Maemo Nokia 770 and 800 debian packaging.
Fixed the "Home" button missing icon problem Fixed cursor (now it's hidden) Files are saved on /media/mmc1/tuxpaint by default so users can see them from the filemanager Added xpm icon to hildon desktop
This commit is contained in:
parent
52a8db16ac
commit
cb9a159ba5
8 changed files with 511 additions and 56 deletions
20
Makefile
20
Makefile
|
|
@ -243,8 +243,10 @@ nokia770:
|
||||||
make \
|
make \
|
||||||
DATA_PREFIX=/usr/share/tuxpaint \
|
DATA_PREFIX=/usr/share/tuxpaint \
|
||||||
SVG_LIB= SVG_CFLAGS= NOSVGFLAG=NOSVG \
|
SVG_LIB= SVG_CFLAGS= NOSVGFLAG=NOSVG \
|
||||||
MAEMOFLAG=NOKIA_770
|
MAEMOFLAG=NOKIA_770 \
|
||||||
|
LOCALE_PREFIX=$(PREFIX)/share/locale \
|
||||||
|
CONFDIR=/etc/tuxpaint
|
||||||
|
|
||||||
|
|
||||||
# "make install" installs all of the various parts
|
# "make install" installs all of the various parts
|
||||||
# (depending on the *PREFIX variables at the top, you probably need
|
# (depending on the *PREFIX variables at the top, you probably need
|
||||||
|
|
@ -348,7 +350,7 @@ install-win32:
|
||||||
LOCALE_PREFIX=$(PREFIX)/share/locale \
|
LOCALE_PREFIX=$(PREFIX)/share/locale \
|
||||||
CONFDIR=$(PREFIX)/etc/tuxpaint \
|
CONFDIR=$(PREFIX)/etc/tuxpaint \
|
||||||
|
|
||||||
# "make bdist-win32" recompiles Tux Paint to work with executable-relative
|
# "make bdist-win32" recompiles Tux Paint to work with executable-relative
|
||||||
# data, docs and locale directories. Also copies all files, including DLLs,
|
# data, docs and locale directories. Also copies all files, including DLLs,
|
||||||
# into a 'bdist' output directory ready for processing by an installer script.
|
# into a 'bdist' output directory ready for processing by an installer script.
|
||||||
bdist-win32:
|
bdist-win32:
|
||||||
|
|
@ -548,12 +550,22 @@ install-nokia770:
|
||||||
@echo "...Installing launcher icon into the Nokia 770..."
|
@echo "...Installing launcher icon into the Nokia 770..."
|
||||||
@if [ "x$(NOKIA770_PREFIX)" != "x" ]; then \
|
@if [ "x$(NOKIA770_PREFIX)" != "x" ]; then \
|
||||||
install -d $(PKG_ROOT)$(NOKIA770_PREFIX)/share/pixmaps; \
|
install -d $(PKG_ROOT)$(NOKIA770_PREFIX)/share/pixmaps; \
|
||||||
cp data/images/icon.png $(PKG_ROOT)/$(NOKIA770_PREFIX)/share/pixmaps/tuxpaint.png; \
|
cp data/images/icon.png $(PKG_ROOT)$(NOKIA770_PREFIX)/share/pixmaps/tuxpaint.png; \
|
||||||
chmod 644 $(PKG_ROOT)$(NOKIA770_PREFIX)/share/pixmaps/tuxpaint.png; \
|
chmod 644 $(PKG_ROOT)$(NOKIA770_PREFIX)/share/pixmaps/tuxpaint.png; \
|
||||||
|
cp hildon/tuxpaint.xpm $(PKG_ROOT)/$(NOKIA770_PREFIX)/share/pixmaps/tuxpaint.xpm; \
|
||||||
|
chmod 644 $(PKG_ROOT)$(NOKIA770_PREFIX)/share/pixmaps/tuxpaint.xpm; \
|
||||||
install -d $(PKG_ROOT)$(NOKIA770_PREFIX)/share/applications/hildon; \
|
install -d $(PKG_ROOT)$(NOKIA770_PREFIX)/share/applications/hildon; \
|
||||||
cp hildon/tuxpaint.desktop $(PKG_ROOT)$(NOKIA770_PREFIX)/share/applications/hildon/; \
|
cp hildon/tuxpaint.desktop $(PKG_ROOT)$(NOKIA770_PREFIX)/share/applications/hildon/; \
|
||||||
chmod 644 $(PKG_ROOT)$(NOKIA770_PREFIX)/share/applications/hildon/tuxpaint.desktop; \
|
chmod 644 $(PKG_ROOT)$(NOKIA770_PREFIX)/share/applications/hildon/tuxpaint.desktop; \
|
||||||
|
install -d $(PKG_ROOT)/etc/tuxpaint; \
|
||||||
|
cp hildon/tuxpaint.conf $(PKG_ROOT)/etc/tuxpaint; \
|
||||||
|
chmod 644 $(PKG_ROOT)/etc/tuxpaint/tuxpaint.conf; \
|
||||||
|
rm -rf $(PKG_ROOT)$(NOKIA770_PREFIX)/X11R6; \
|
||||||
|
rm -rf $(PKG_ROOT)$(NOKIA770_PREFIX)/share/doc; \
|
||||||
|
rm -rf $(PKG_ROOT)$(NOKIA770_PREFIX)/share/man; \
|
||||||
fi
|
fi
|
||||||
|
@-find $(PKG_ROOT)$(NOKIA770_PREFIX) -name CVS -type d -exec rm -rf \{\} \;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# Install a launcher icon in the KDE menu...
|
# Install a launcher icon in the KDE menu...
|
||||||
|
|
|
||||||
28
debian/control
vendored
Normal file
28
debian/control
vendored
Normal file
|
|
@ -0,0 +1,28 @@
|
||||||
|
Source: tuxpaint
|
||||||
|
Version: 0.9.17
|
||||||
|
Section: user/games
|
||||||
|
Priority: optional
|
||||||
|
Installed-Size: 2828
|
||||||
|
Maintainer: Alessandro Pasotti <apasotti@gmail.com>
|
||||||
|
|
||||||
|
Package: tuxpaint
|
||||||
|
Architecture: any
|
||||||
|
Depends: ${shlibs:Depends}, ${misc:Depends}
|
||||||
|
Description: A paint program for young children
|
||||||
|
Tux Paint is meant to be a simple drawing program for young
|
||||||
|
children. It is not meant as a general-purpose drawing tool.
|
||||||
|
It IS meant to be fun and easy to use. Sound effects and a
|
||||||
|
cartoon character help let the user know what's going on, and
|
||||||
|
keeps them entertained.
|
||||||
|
.
|
||||||
|
Tux Paint is extensible. Brushes and "rubber stamp" shapes can be
|
||||||
|
dropped in and pulled out. For example, a teacher can drop in a
|
||||||
|
collection of animal shapes and ask their students to draw an
|
||||||
|
ecosystem. Each shape can have a sound which is played, and
|
||||||
|
textual facts which are displayed, when the child selects the shape.
|
||||||
|
.
|
||||||
|
There is no direct access to the computer's underlying intricacies.
|
||||||
|
The current image is kept when the program quits, and reappears when
|
||||||
|
it is restarted. Saving images requires no need to create filenames
|
||||||
|
or use the keyboard. Opening an image is done by selecting it from
|
||||||
|
a collection of thumbnails.
|
||||||
16
debian/postinst
vendored
Executable file
16
debian/postinst
vendored
Executable file
|
|
@ -0,0 +1,16 @@
|
||||||
|
#! /bin/sh
|
||||||
|
|
||||||
|
# The clock might be wrong and we know that we need to update the icon
|
||||||
|
# cache so we just force it.
|
||||||
|
|
||||||
|
gtk-update-icon-cache -f /usr/share/icons/hicolor
|
||||||
|
|
||||||
|
if [ ! -d /media/mmc1/tuxpaint ]
|
||||||
|
then
|
||||||
|
mkdir /media/mmc1/tuxpaint
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo " Lets ask about the location"
|
||||||
|
maemo-select-menu-location tuxpaint.desktop tana_fi_games
|
||||||
|
|
||||||
|
exit 0
|
||||||
100
debian/rules
vendored
Executable file
100
debian/rules
vendored
Executable file
|
|
@ -0,0 +1,100 @@
|
||||||
|
#!/usr/bin/make -f
|
||||||
|
# -*- makefile -*-
|
||||||
|
# Builds tuxpaint for MAEMO NOKIA DEVICES
|
||||||
|
# Sample debian/rules that uses debhelper.
|
||||||
|
# This file was originally written by Joey Hess and Craig Small.
|
||||||
|
# As a special exception, when this file is copied by dh-make into a
|
||||||
|
# dh-make output file, you may use that output file without restriction.
|
||||||
|
# This special exception was added by Craig Small in version 0.37 of dh-make.
|
||||||
|
|
||||||
|
# Uncomment this to turn on verbose mode.
|
||||||
|
#export DH_VERBOSE=1
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
CFLAGS = -Wall -g
|
||||||
|
|
||||||
|
ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
|
||||||
|
CFLAGS += -O0
|
||||||
|
else
|
||||||
|
CFLAGS += -O2
|
||||||
|
endif
|
||||||
|
|
||||||
|
configure: configure-stamp
|
||||||
|
configure-stamp:
|
||||||
|
dh_testdir
|
||||||
|
# Add here commands to configure the package.
|
||||||
|
|
||||||
|
touch configure-stamp
|
||||||
|
|
||||||
|
|
||||||
|
build: build-stamp
|
||||||
|
|
||||||
|
build-stamp: configure-stamp
|
||||||
|
dh_testdir
|
||||||
|
|
||||||
|
# Add here commands to compile the package.
|
||||||
|
$(MAKE) nokia770 PKG_ROOT=$(CURDIR)/debian/tuxpaint PREFIX=/usr
|
||||||
|
#docbook-to-man debian/tuxpaint.sgml > tuxpaint.1
|
||||||
|
|
||||||
|
touch build-stamp
|
||||||
|
|
||||||
|
clean:
|
||||||
|
dh_testdir
|
||||||
|
dh_testroot
|
||||||
|
rm -f build-stamp configure-stamp
|
||||||
|
|
||||||
|
# Add here commands to clean up after the build process.
|
||||||
|
-$(MAKE) clean
|
||||||
|
|
||||||
|
dh_clean
|
||||||
|
|
||||||
|
install: build
|
||||||
|
dh_testdir
|
||||||
|
dh_testroot
|
||||||
|
dh_clean -k
|
||||||
|
dh_installdirs
|
||||||
|
|
||||||
|
# Add here commands to install the package into debian/tuxpaint.
|
||||||
|
$(MAKE) install PKG_ROOT=$(CURDIR)/debian/tuxpaint PREFIX=/usr
|
||||||
|
$(MAKE) install-nokia770 PKG_ROOT=$(CURDIR)/debian/tuxpaint NOKIA770_PREFIX=/usr
|
||||||
|
|
||||||
|
|
||||||
|
# Build architecture-independent files here.
|
||||||
|
binary-indep: build install
|
||||||
|
# We have nothing to do by default.
|
||||||
|
|
||||||
|
# Build architecture-dependent files here.
|
||||||
|
binary-arch: build install
|
||||||
|
dh_testdir
|
||||||
|
dh_testroot
|
||||||
|
# dh_installchangelogs
|
||||||
|
# dh_installdocs
|
||||||
|
# dh_installexamples
|
||||||
|
# dh_install
|
||||||
|
# dh_installmenu
|
||||||
|
# dh_installdebconf
|
||||||
|
# dh_installlogrotate
|
||||||
|
# dh_installemacsen
|
||||||
|
# dh_installpam
|
||||||
|
# dh_installmime
|
||||||
|
# dh_installinit
|
||||||
|
# dh_installcron
|
||||||
|
# dh_installinfo
|
||||||
|
# dh_installman
|
||||||
|
dh_link
|
||||||
|
dh_strip
|
||||||
|
dh_compress
|
||||||
|
dh_fixperms
|
||||||
|
# dh_perl
|
||||||
|
# dh_python
|
||||||
|
# dh_makeshlibs
|
||||||
|
dh_installdeb
|
||||||
|
dh_shlibdeps
|
||||||
|
dh_gencontrol
|
||||||
|
dh_md5sums
|
||||||
|
dh_builddeb
|
||||||
|
|
||||||
|
binary: binary-indep binary-arch
|
||||||
|
.PHONY: build clean binary-indep binary-arch binary install configure
|
||||||
231
hildon/tuxpaint.conf
Normal file
231
hildon/tuxpaint.conf
Normal file
|
|
@ -0,0 +1,231 @@
|
||||||
|
# /etc/tuxpaint/tuxpaint.conf
|
||||||
|
#
|
||||||
|
# Configuration file for Tux Paint
|
||||||
|
# See tuxpaint(1) or run 'tuxpaint --help' for details on using Tux Paint
|
||||||
|
#
|
||||||
|
# Bill Kendrick <bill@newbreedsoftware.com>
|
||||||
|
# Default distribution version last modified:
|
||||||
|
# October 24, 2004
|
||||||
|
|
||||||
|
|
||||||
|
# The variables described below are initially commented out.
|
||||||
|
#
|
||||||
|
# Most options come in pairs:
|
||||||
|
#
|
||||||
|
# The top examples change the default behavior
|
||||||
|
# (e.g., "fullscreen=yes" enables full-screen mode, while
|
||||||
|
# the default mode is windowed, not fullscreen.)
|
||||||
|
#
|
||||||
|
# The bottom examples reenable the default behavior
|
||||||
|
# (e.g., "windowed=yes" enables fullscreen mode.)
|
||||||
|
#
|
||||||
|
# In the system-wide Tux Paint configuration file
|
||||||
|
# (e.g. "/etc/tuxpaint/tuxpaint.conf"
|
||||||
|
# or "/usr/local/etc/tuxpaint/tuxpaint.conf")
|
||||||
|
# the default options are redundant.
|
||||||
|
#
|
||||||
|
# They are, however, useful to place in a user's personal confiugration file
|
||||||
|
# ("~/.tuxpaintrc"), to override any settings they don't like in the
|
||||||
|
# system-wide configuration file, and which they don't want to always have
|
||||||
|
# to override via command-line options.
|
||||||
|
#
|
||||||
|
# For more information, see Tux Paint's main documentation file: README.txt
|
||||||
|
|
||||||
|
|
||||||
|
### Fullscreen or Windowed?
|
||||||
|
### -----------------------
|
||||||
|
#
|
||||||
|
fullscreen=yes
|
||||||
|
# windowed=yes
|
||||||
|
|
||||||
|
|
||||||
|
### Window size / screen resolution. (640x480 is the default.)
|
||||||
|
### -----------------------------------------------------------
|
||||||
|
#
|
||||||
|
# windowsize=1600x1200
|
||||||
|
# windowsize=1400x1050
|
||||||
|
# windowsize=1280x1024
|
||||||
|
# windowsize=1024x768
|
||||||
|
# windowsize=800x600
|
||||||
|
# windowsize=640x480
|
||||||
|
windowsize=800x480
|
||||||
|
|
||||||
|
|
||||||
|
### Disable sound effects?
|
||||||
|
### ----------------------
|
||||||
|
#
|
||||||
|
# nosound=yes
|
||||||
|
# sound=yes
|
||||||
|
|
||||||
|
|
||||||
|
### Disable the on-screen 'Quit' button in the toolbar?
|
||||||
|
### ---------------------------------------------------
|
||||||
|
### Note: Pressing the [Escape] key,
|
||||||
|
### or clicking the window's 'Close' button will still work
|
||||||
|
#
|
||||||
|
# noquit=yes
|
||||||
|
# quit=yes
|
||||||
|
|
||||||
|
|
||||||
|
### Disable the printing feature?
|
||||||
|
### -----------------------------
|
||||||
|
#
|
||||||
|
noprint=yes
|
||||||
|
# print=yes
|
||||||
|
|
||||||
|
|
||||||
|
### Restrict printing?
|
||||||
|
### ------------------
|
||||||
|
### For example, if 'printdelay=60',
|
||||||
|
### the user can only print once per minute (60 seconds)
|
||||||
|
#
|
||||||
|
# printdelay={SECONDS}
|
||||||
|
# printdelay=0
|
||||||
|
|
||||||
|
|
||||||
|
### Use stored printer configuration?
|
||||||
|
### ---------------------------------
|
||||||
|
#
|
||||||
|
# printcfg=yes
|
||||||
|
# printcfg=no
|
||||||
|
|
||||||
|
|
||||||
|
### Use a different print command?
|
||||||
|
### ------------------------------
|
||||||
|
### Note: The command should expect a PNG file on its STDIN (standard-in)
|
||||||
|
###
|
||||||
|
### For example, to convert the image to greyscale before converting
|
||||||
|
### to PostScript, use "pngtopnm | ppmtopgm | pnmtops | lpr" as the command
|
||||||
|
#
|
||||||
|
# printcommand={COMMAND}
|
||||||
|
# printcommand=pngtopnm | pnmtops | lpr
|
||||||
|
|
||||||
|
|
||||||
|
### Use the simpler shape tool? (No rotating)
|
||||||
|
### -----------------------------------------
|
||||||
|
#
|
||||||
|
# simpleshapes=yes
|
||||||
|
# complexshapes=yes
|
||||||
|
|
||||||
|
|
||||||
|
### Display only uppercase letters?
|
||||||
|
### -------------------------------
|
||||||
|
#
|
||||||
|
# uppercase=yes
|
||||||
|
# mixedcase=yes
|
||||||
|
|
||||||
|
|
||||||
|
### Grab the mouse and keyboard?
|
||||||
|
### ----------------------------
|
||||||
|
#
|
||||||
|
# grab=yes
|
||||||
|
# dontgrab=yes
|
||||||
|
|
||||||
|
|
||||||
|
### Disable [Control] key shortcuts?
|
||||||
|
### --------------------------------
|
||||||
|
#
|
||||||
|
# noshortcuts=yes
|
||||||
|
# shortcuts=yes
|
||||||
|
|
||||||
|
|
||||||
|
### Disable wheel mouse support?
|
||||||
|
### ----------------------------
|
||||||
|
#
|
||||||
|
# nowheelmouse=yes
|
||||||
|
# wheelmouse=yes
|
||||||
|
|
||||||
|
|
||||||
|
### Don't use special mouse pointer (cursor) shapes?
|
||||||
|
### ------------------------------------------------
|
||||||
|
#
|
||||||
|
nofancycursors=yes
|
||||||
|
# fancycursors=yes
|
||||||
|
|
||||||
|
|
||||||
|
### Use the keyboard to control the mouse pointer (cursor)?
|
||||||
|
### -------------------------------------------------------
|
||||||
|
#
|
||||||
|
# keyboard=yes
|
||||||
|
# mouse=yes
|
||||||
|
|
||||||
|
|
||||||
|
### Use less graphics-intensive outlines?
|
||||||
|
### -------------------------------------
|
||||||
|
#
|
||||||
|
nooutlines=yes
|
||||||
|
# outlines=yes
|
||||||
|
|
||||||
|
|
||||||
|
### Disable the Stamp tool?
|
||||||
|
### -----------------------
|
||||||
|
#
|
||||||
|
# nostamps=yes
|
||||||
|
# stamps=yes
|
||||||
|
|
||||||
|
|
||||||
|
### Disable Stamp controls (flip, mirror, size)?
|
||||||
|
### --------------------------------------------
|
||||||
|
#
|
||||||
|
# nostampcontrols=yes
|
||||||
|
# stampcontrols=yes
|
||||||
|
|
||||||
|
|
||||||
|
### Show mirrored stamps by default? (e.g., for those prefering right-to-left)
|
||||||
|
### --------------------------------------------------------------------------
|
||||||
|
#
|
||||||
|
# mirrorstamps=yes
|
||||||
|
# dontmirrorstamps=yes
|
||||||
|
|
||||||
|
|
||||||
|
### Use keyboard arrow keys to control mouse pointer?
|
||||||
|
### -------------------------------------------------
|
||||||
|
#
|
||||||
|
# keyboard=yes
|
||||||
|
# mouse=yes
|
||||||
|
|
||||||
|
|
||||||
|
### Disable 'Save Over Older Picture?' Prompt
|
||||||
|
### Always save over, instead
|
||||||
|
### -----------------------------------------
|
||||||
|
#
|
||||||
|
# saveover=yes
|
||||||
|
# saveover=ask
|
||||||
|
|
||||||
|
|
||||||
|
### Save images somewhere different?
|
||||||
|
### --------------------------------
|
||||||
|
### Note: Window users, use the form: savedir=C:\WINDOWS\TUXPAINT
|
||||||
|
#
|
||||||
|
# savedir=~/.tuxpaint/saved
|
||||||
|
savedir=/media/mmc1/tuxpaint
|
||||||
|
|
||||||
|
|
||||||
|
### Disable 'Save Over Older Picture?' Prompt
|
||||||
|
### Always make a new picture, instead
|
||||||
|
### -----------------------------------------
|
||||||
|
#
|
||||||
|
# saveover=new
|
||||||
|
# saveover=ask
|
||||||
|
|
||||||
|
|
||||||
|
### Disable the 'Save' feature altogether?
|
||||||
|
### --------------------------------------
|
||||||
|
#
|
||||||
|
# nosave=yes
|
||||||
|
# save=yes
|
||||||
|
|
||||||
|
|
||||||
|
### Use a different language?
|
||||||
|
### -------------------------
|
||||||
|
### Note: Where the language is a known language name (e.g., "spanish")
|
||||||
|
###
|
||||||
|
### For a full list, see tuxpaint(1) man page, README.txt documentation,
|
||||||
|
### or language usage output (by running the command "tuxpaint --lang help")
|
||||||
|
#
|
||||||
|
# lang={LANGUAGE}
|
||||||
|
# lang=english
|
||||||
|
|
||||||
|
|
||||||
|
# (End of configuration file)
|
||||||
|
|
||||||
|
|
@ -2,8 +2,13 @@
|
||||||
Encoding=UTF-8
|
Encoding=UTF-8
|
||||||
Name=Tux Paint
|
Name=Tux Paint
|
||||||
Type=Application
|
Type=Application
|
||||||
Exec=/var/lib/install/usr/bin/tuxpaint
|
Exec=/usr/bin/tuxpaint
|
||||||
Icon=tuxpaint
|
Icon=tuxpaint
|
||||||
Terminal=false
|
Terminal=false
|
||||||
GenericName=Drawing program
|
GenericName=Drawing program
|
||||||
Comment=A drawing program for children.
|
Comment=A drawing program for children.
|
||||||
|
StartupWMClass=TuxPaint.TuxPaint
|
||||||
|
X-Icon-path=/usr/share/pixmaps/
|
||||||
|
X-Window-Icon=tuxpaint
|
||||||
|
X-Window-Icon-Dimmed=tuxpaint
|
||||||
|
X-HildonDesk-ShowInToolbar=true
|
||||||
|
|
|
||||||
49
hildon/tuxpaint.xpm
Normal file
49
hildon/tuxpaint.xpm
Normal file
|
|
@ -0,0 +1,49 @@
|
||||||
|
/* XPM */
|
||||||
|
static char * icon32x32_xpm[] = {
|
||||||
|
"32 32 14 1",
|
||||||
|
" c None",
|
||||||
|
". c #000000",
|
||||||
|
"+ c #FFFF00",
|
||||||
|
"@ c #191919",
|
||||||
|
"# c #7F7F00",
|
||||||
|
"$ c #333333",
|
||||||
|
"% c #666667",
|
||||||
|
"& c #4C4C4C",
|
||||||
|
"* c #B2B2B2",
|
||||||
|
"= c #FFFFFF",
|
||||||
|
"- c #CCCCCC",
|
||||||
|
"; c #E5E5E5",
|
||||||
|
"> c #999999",
|
||||||
|
", c #7F7F7F",
|
||||||
|
"..... ..... ... ... ",
|
||||||
|
".+++. .+++.. .+@ .+. ",
|
||||||
|
"..#.....@..@..#.##.......@..#.. ",
|
||||||
|
" .#@#.#.##.##.#@##.##@#@##..##. ",
|
||||||
|
" .+.+.+..+++..+.+@+@+@+@+.+.+.. ",
|
||||||
|
" .+.+.+..+++.@++@++.+.+.+@+.+.. ",
|
||||||
|
" .#@#@#@##@##.#..##.#.#.#.#@##..",
|
||||||
|
" .+..++.++@++.+...+++@+@+.+@@++.",
|
||||||
|
" ............... .......@@......",
|
||||||
|
" @@.......@@ ",
|
||||||
|
" @$%$..@@...@ ",
|
||||||
|
" &*=*@%-*@..@ ",
|
||||||
|
"$@@@@@@@ %;--%;==%..@ ",
|
||||||
|
"@....@@@@ >*&*>;==%..@@ ",
|
||||||
|
"......... @-;-**$-;$...@ ",
|
||||||
|
"........@@ @$#&%>%;>;-@...@ ",
|
||||||
|
".........@@ ##+#++##,--&....@ ",
|
||||||
|
"..........@@ #++++++++&$@....@@",
|
||||||
|
"@..........@@@####+++++#@.....@@",
|
||||||
|
" @@.........@@+#$+++++++#......@",
|
||||||
|
" @@@........@#+++++++++#......@",
|
||||||
|
" @@@......@@#++++++++@......@",
|
||||||
|
" @@.......@##+++++#.......@",
|
||||||
|
" $@........@####$@.......@",
|
||||||
|
" @@.......@@@@...........",
|
||||||
|
" @@.....$>-*>$..........",
|
||||||
|
" @@..@-====;$...@.....",
|
||||||
|
" @@..%======*@.$>.....",
|
||||||
|
" @@..*======;$.$-@....",
|
||||||
|
" @@..$-======;&..*%....",
|
||||||
|
" @@..@-========%..$*@...",
|
||||||
|
" @@.@>=========>...%%..."};
|
||||||
116
src/tuxpaint.c
116
src/tuxpaint.c
|
|
@ -1,6 +1,6 @@
|
||||||
/*
|
/*
|
||||||
tuxpaint.c
|
tuxpaint.c
|
||||||
|
|
||||||
Tux Paint - A simple drawing program for children.
|
Tux Paint - A simple drawing program for children.
|
||||||
|
|
||||||
Copyright (c) 2002-2007 by Bill Kendrick and others; see AUTHORS.txt
|
Copyright (c) 2002-2007 by Bill Kendrick and others; see AUTHORS.txt
|
||||||
|
|
@ -11,12 +11,12 @@
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
the Free Software Foundation; either version 2 of the License, or
|
the Free Software Foundation; either version 2 of the License, or
|
||||||
(at your option) any later version.
|
(at your option) any later version.
|
||||||
|
|
||||||
This program is distributed in the hope that it will be useful,
|
This program is distributed in the hope that it will be useful,
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
GNU General Public License for more details.
|
GNU General Public License for more details.
|
||||||
|
|
||||||
You should have received a copy of the GNU General Public License
|
You should have received a copy of the GNU General Public License
|
||||||
along with this program; if not, write to the Free Software
|
along with this program; if not, write to the Free Software
|
||||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
|
|
@ -1366,6 +1366,8 @@ static void eat_sdl_events(void)
|
||||||
|
|
||||||
int main(int argc, char *argv[])
|
int main(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
CLOCK_TYPE time1;
|
CLOCK_TYPE time1;
|
||||||
CLOCK_TYPE time2;
|
CLOCK_TYPE time2;
|
||||||
SDL_Rect dest;
|
SDL_Rect dest;
|
||||||
|
|
@ -1500,7 +1502,6 @@ int main(int argc, char *argv[])
|
||||||
/* Main loop! */
|
/* Main loop! */
|
||||||
mainloop();
|
mainloop();
|
||||||
|
|
||||||
|
|
||||||
/* Close and quit! */
|
/* Close and quit! */
|
||||||
|
|
||||||
save_current();
|
save_current();
|
||||||
|
|
@ -3918,7 +3919,7 @@ hue_range_retry:;
|
||||||
mc = work + i;
|
mc = work + i;
|
||||||
|
|
||||||
// if not in the first range, and not in the second range, skip this one
|
// if not in the first range, and not in the second range, skip this one
|
||||||
//
|
//
|
||||||
if ((mc->hue < lower_hue_1 || mc->hue > upper_hue_1) &&
|
if ((mc->hue < lower_hue_1 || mc->hue > upper_hue_1) &&
|
||||||
(mc->hue < lower_hue_2 || mc->hue > upper_hue_2))
|
(mc->hue < lower_hue_2 || mc->hue > upper_hue_2))
|
||||||
continue;
|
continue;
|
||||||
|
|
@ -5319,16 +5320,16 @@ static void loadbrush_callback(SDL_Surface * screen,
|
||||||
realloc(img_brushes, num_brushes_max * sizeof *img_brushes);
|
realloc(img_brushes, num_brushes_max * sizeof *img_brushes);
|
||||||
brushes_frames =
|
brushes_frames =
|
||||||
realloc(brushes_frames, num_brushes_max * sizeof(int));
|
realloc(brushes_frames, num_brushes_max * sizeof(int));
|
||||||
brushes_directional =
|
brushes_directional =
|
||||||
realloc(brushes_directional, num_brushes_max * sizeof(short));
|
realloc(brushes_directional, num_brushes_max * sizeof(short));
|
||||||
brushes_spacing =
|
brushes_spacing =
|
||||||
realloc(brushes_spacing, num_brushes_max * sizeof(int));
|
realloc(brushes_spacing, num_brushes_max * sizeof(int));
|
||||||
}
|
}
|
||||||
img_brushes[num_brushes] = loadimage(fname);
|
img_brushes[num_brushes] = loadimage(fname);
|
||||||
|
|
||||||
|
|
||||||
/* Load brush metadata, if any: */
|
/* Load brush metadata, if any: */
|
||||||
|
|
||||||
brushes_frames[num_brushes] = 1;
|
brushes_frames[num_brushes] = 1;
|
||||||
brushes_directional[num_brushes] = 0;
|
brushes_directional[num_brushes] = 0;
|
||||||
brushes_spacing[num_brushes] = img_brushes[num_brushes]->h / 4;
|
brushes_spacing[num_brushes] = img_brushes[num_brushes]->h / 4;
|
||||||
|
|
@ -5337,7 +5338,7 @@ static void loadbrush_callback(SDL_Surface * screen,
|
||||||
fi = fopen(fname, "r");
|
fi = fopen(fname, "r");
|
||||||
|
|
||||||
want_rand = 0;
|
want_rand = 0;
|
||||||
|
|
||||||
if (fi != NULL)
|
if (fi != NULL)
|
||||||
{
|
{
|
||||||
do
|
do
|
||||||
|
|
@ -5369,7 +5370,7 @@ static void loadbrush_callback(SDL_Surface * screen,
|
||||||
if (want_rand)
|
if (want_rand)
|
||||||
brushes_frames[num_brushes] *= -1;
|
brushes_frames[num_brushes] *= -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
num_brushes++;
|
num_brushes++;
|
||||||
}
|
}
|
||||||
free(files[i].str);
|
free(files[i].str);
|
||||||
|
|
@ -5855,6 +5856,7 @@ static int load_user_fonts_stub(void *vp)
|
||||||
|
|
||||||
static void setup(int argc, char *argv[])
|
static void setup(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
|
|
||||||
int i, j, ok_to_use_sysconfig;
|
int i, j, ok_to_use_sysconfig;
|
||||||
char str[128];
|
char str[128];
|
||||||
char *upstr;
|
char *upstr;
|
||||||
|
|
@ -5945,6 +5947,11 @@ static void setup(int argc, char *argv[])
|
||||||
mirrorstamps = 0;
|
mirrorstamps = 0;
|
||||||
disable_stamp_controls = 0;
|
disable_stamp_controls = 0;
|
||||||
|
|
||||||
|
#ifndef WINDOW_WIDTH
|
||||||
|
WINDOW_WIDTH = 800;
|
||||||
|
WINDOW_HEIGHT = 600;
|
||||||
|
#endif
|
||||||
|
|
||||||
#ifdef NOKIA_770
|
#ifdef NOKIA_770
|
||||||
WINDOW_WIDTH = 800;
|
WINDOW_WIDTH = 800;
|
||||||
WINDOW_HEIGHT = 480;
|
WINDOW_HEIGHT = 480;
|
||||||
|
|
@ -5955,11 +5962,6 @@ static void setup(int argc, char *argv[])
|
||||||
WINDOW_WIDTH = 1200;
|
WINDOW_WIDTH = 1200;
|
||||||
WINDOW_HEIGHT = 900;
|
WINDOW_HEIGHT = 900;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifndef WINDOW_WIDTH
|
|
||||||
WINDOW_WIDTH = 800;
|
|
||||||
WINDOW_HEIGHT = 600;
|
|
||||||
#endif
|
|
||||||
playfile = NULL;
|
playfile = NULL;
|
||||||
recording = 0;
|
recording = 0;
|
||||||
playing = 0;
|
playing = 0;
|
||||||
|
|
@ -6556,6 +6558,7 @@ static void setup(int argc, char *argv[])
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#ifndef NOSOUND
|
#ifndef NOSOUND
|
||||||
#ifndef WIN32
|
#ifndef WIN32
|
||||||
if (use_sound && Mix_OpenAudio(44100, AUDIO_S16SYS, 2, 1024) < 0)
|
if (use_sound && Mix_OpenAudio(44100, AUDIO_S16SYS, 2, 1024) < 0)
|
||||||
|
|
@ -6654,14 +6657,14 @@ static void setup(int argc, char *argv[])
|
||||||
if (strlen(tmp_str) == 6)
|
if (strlen(tmp_str) == 6)
|
||||||
{
|
{
|
||||||
/* Byte (#rrggbb) form */
|
/* Byte (#rrggbb) form */
|
||||||
|
|
||||||
color_hexes[NUM_COLORS][0] =
|
color_hexes[NUM_COLORS][0] =
|
||||||
(hex2dec(tmp_str[0]) << 4) + hex2dec(tmp_str[1]);
|
(hex2dec(tmp_str[0]) << 4) + hex2dec(tmp_str[1]);
|
||||||
color_hexes[NUM_COLORS][1] =
|
color_hexes[NUM_COLORS][1] =
|
||||||
(hex2dec(tmp_str[2]) << 4) + hex2dec(tmp_str[3]);
|
(hex2dec(tmp_str[2]) << 4) + hex2dec(tmp_str[3]);
|
||||||
color_hexes[NUM_COLORS][2] =
|
color_hexes[NUM_COLORS][2] =
|
||||||
(hex2dec(tmp_str[4]) << 4) + hex2dec(tmp_str[5]);
|
(hex2dec(tmp_str[4]) << 4) + hex2dec(tmp_str[5]);
|
||||||
|
|
||||||
color_names[NUM_COLORS] = strdup(str + count);
|
color_names[NUM_COLORS] = strdup(str + count);
|
||||||
NUM_COLORS++;
|
NUM_COLORS++;
|
||||||
}
|
}
|
||||||
|
|
@ -6675,7 +6678,7 @@ static void setup(int argc, char *argv[])
|
||||||
(hex2dec(tmp_str[1]) << 4) + hex2dec(tmp_str[1]);
|
(hex2dec(tmp_str[1]) << 4) + hex2dec(tmp_str[1]);
|
||||||
color_hexes[NUM_COLORS][2] =
|
color_hexes[NUM_COLORS][2] =
|
||||||
(hex2dec(tmp_str[2]) << 4) + hex2dec(tmp_str[2]);
|
(hex2dec(tmp_str[2]) << 4) + hex2dec(tmp_str[2]);
|
||||||
|
|
||||||
color_names[NUM_COLORS] = strdup(str + count);
|
color_names[NUM_COLORS] = strdup(str + count);
|
||||||
NUM_COLORS++;
|
NUM_COLORS++;
|
||||||
}
|
}
|
||||||
|
|
@ -6710,13 +6713,13 @@ static void setup(int argc, char *argv[])
|
||||||
free(color_names[i]);
|
free(color_names[i]);
|
||||||
free(color_hexes[i]);
|
free(color_hexes[i]);
|
||||||
}
|
}
|
||||||
|
|
||||||
free(color_names);
|
free(color_names);
|
||||||
free(color_hexes);
|
free(color_hexes);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Use default, if no file specified (or trouble opening it) */
|
/* Use default, if no file specified (or trouble opening it) */
|
||||||
|
|
||||||
if (colorfile[0] == '\0')
|
if (colorfile[0] == '\0')
|
||||||
|
|
@ -6725,7 +6728,7 @@ static void setup(int argc, char *argv[])
|
||||||
|
|
||||||
color_hexes = malloc(sizeof(Uint8 *) * NUM_COLORS);
|
color_hexes = malloc(sizeof(Uint8 *) * NUM_COLORS);
|
||||||
color_names = malloc(sizeof(char *) * NUM_COLORS);
|
color_names = malloc(sizeof(char *) * NUM_COLORS);
|
||||||
|
|
||||||
for (i = 0; i < NUM_COLORS; i++)
|
for (i = 0; i < NUM_COLORS; i++)
|
||||||
{
|
{
|
||||||
color_hexes[i] = malloc(sizeof(Uint8 *) * 3);
|
color_hexes[i] = malloc(sizeof(Uint8 *) * 3);
|
||||||
|
|
@ -6740,7 +6743,7 @@ static void setup(int argc, char *argv[])
|
||||||
|
|
||||||
setup_screen_layout();
|
setup_screen_layout();
|
||||||
|
|
||||||
|
|
||||||
/* Set window icon and caption: */
|
/* Set window icon and caption: */
|
||||||
|
|
||||||
#ifndef __APPLE__
|
#ifndef __APPLE__
|
||||||
|
|
@ -6748,6 +6751,10 @@ static void setup(int argc, char *argv[])
|
||||||
#endif
|
#endif
|
||||||
SDL_WM_SetCaption("Tux Paint", "Tux Paint");
|
SDL_WM_SetCaption("Tux Paint", "Tux Paint");
|
||||||
|
|
||||||
|
#ifdef NOKIA_770
|
||||||
|
SDL_ShowCursor (SDL_DISABLE);
|
||||||
|
#endif
|
||||||
|
|
||||||
/* Open Window: */
|
/* Open Window: */
|
||||||
|
|
||||||
if (fullscreen)
|
if (fullscreen)
|
||||||
|
|
@ -6845,8 +6852,14 @@ static void setup(int argc, char *argv[])
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef NOKIA_770
|
||||||
|
snprintf(tmp_str, sizeof(tmp_str), "Version: %s – %s - Maemo", VER_VERSION,
|
||||||
|
VER_DATE);
|
||||||
|
#else
|
||||||
snprintf(tmp_str, sizeof(tmp_str), "Version: %s – %s", VER_VERSION,
|
snprintf(tmp_str, sizeof(tmp_str), "Version: %s – %s", VER_VERSION,
|
||||||
VER_DATE);
|
VER_DATE);
|
||||||
|
#endif
|
||||||
|
|
||||||
tmp_surf = render_text(medium_font, tmp_str, black);
|
tmp_surf = render_text(medium_font, tmp_str, black);
|
||||||
dest.x = 10;
|
dest.x = 10;
|
||||||
dest.y = WINDOW_HEIGHT - img_progress->h - tmp_surf->h;
|
dest.y = WINDOW_HEIGHT - img_progress->h - tmp_surf->h;
|
||||||
|
|
@ -6857,7 +6870,7 @@ static void setup(int argc, char *argv[])
|
||||||
printf("%s\n", tmp_str);
|
printf("%s\n", tmp_str);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
snprintf(tmp_str, sizeof(tmp_str), "© 2002–2006 Bill Kendrick et al.");
|
snprintf(tmp_str, sizeof(tmp_str), "© 2002~@~S2006 Bill Kendrick et al.");
|
||||||
tmp_surf = render_text(medium_font, tmp_str, black);
|
tmp_surf = render_text(medium_font, tmp_str, black);
|
||||||
dest.x = 10;
|
dest.x = 10;
|
||||||
dest.y = WINDOW_HEIGHT - img_progress->h - (tmp_surf->h * 2);
|
dest.y = WINDOW_HEIGHT - img_progress->h - (tmp_surf->h * 2);
|
||||||
|
|
@ -7906,11 +7919,11 @@ static void draw_brushes(void)
|
||||||
{
|
{
|
||||||
src.x = 0;
|
src.x = 0;
|
||||||
src.y = brushes_directional[brush] ? (img_brushes[brush]->h / 3) : 0;
|
src.y = brushes_directional[brush] ? (img_brushes[brush]->h / 3) : 0;
|
||||||
|
|
||||||
src.w = (img_brushes[brush]->w / abs(brushes_frames[brush])) /
|
src.w = (img_brushes[brush]->w / abs(brushes_frames[brush])) /
|
||||||
(brushes_directional[brush] ? 3 : 1);
|
(brushes_directional[brush] ? 3 : 1);
|
||||||
src.h = (img_brushes[brush]->h / (brushes_directional[brush] ? 3 : 1));
|
src.h = (img_brushes[brush]->h / (brushes_directional[brush] ? 3 : 1));
|
||||||
|
|
||||||
dest.x = ((i % 2) * 48) + (WINDOW_WIDTH - 96) + ((48 - src.w) >> 1);
|
dest.x = ((i % 2) * 48) + (WINDOW_WIDTH - 96) + ((48 - src.w) >> 1);
|
||||||
dest.y = ((i / 2) * 48) + 40 + ((48 - src.h) >> 1) + off_y;
|
dest.y = ((i / 2) * 48) + 40 + ((48 - src.h) >> 1) + off_y;
|
||||||
|
|
||||||
|
|
@ -9392,8 +9405,8 @@ static void do_eraser(int x, int y)
|
||||||
update_canvas(x - sz / 2, y - sz / 2, x + sz / 2, y + sz / 2);
|
update_canvas(x - sz / 2, y - sz / 2, x + sz / 2, y + sz / 2);
|
||||||
|
|
||||||
rect_xor(x - sz / 2, y - sz / 2, x + sz / 2, y + sz / 2);
|
rect_xor(x - sz / 2, y - sz / 2, x + sz / 2, y + sz / 2);
|
||||||
|
|
||||||
#ifdef __APPLE__
|
#ifdef __APPLE__
|
||||||
/* Prevent ghosted eraser outlines from remaining on the screen in windowed mode */
|
/* Prevent ghosted eraser outlines from remaining on the screen in windowed mode */
|
||||||
update_screen(0, 0, WINDOW_WIDTH, WINDOW_HEIGHT);
|
update_screen(0, 0, WINDOW_WIDTH, WINDOW_HEIGHT);
|
||||||
#endif
|
#endif
|
||||||
|
|
@ -11299,11 +11312,13 @@ static void cleanup(void)
|
||||||
free(lock_fname);
|
free(lock_fname);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* Close up! */
|
/* Close up! */
|
||||||
|
|
||||||
TTF_Quit();
|
TTF_Quit();
|
||||||
SDL_Quit();
|
SDL_Quit();
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -13653,7 +13668,7 @@ int do_slideshow(void)
|
||||||
(THUMB_W - 20 - thumbs[i]->w) / 2) + thumbs[i]->w;
|
(THUMB_W - 20 - thumbs[i]->w) / 2) + thumbs[i]->w;
|
||||||
dest.y = (THUMB_H * ((i - cur) / 4) + 24 + 10 +
|
dest.y = (THUMB_H * ((i - cur) / 4) + 24 + 10 +
|
||||||
(THUMB_H - 20 - thumbs[i]->h) / 2) + thumbs[i]->h;
|
(THUMB_H - 20 - thumbs[i]->h) / 2) + thumbs[i]->h;
|
||||||
|
|
||||||
draw_selection_digits(dest.x, dest.y, found + 1);
|
draw_selection_digits(dest.x, dest.y, found + 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -13699,9 +13714,9 @@ int do_slideshow(void)
|
||||||
dest.y = (48 * 7 + 40 + HEIGHTOFFSET) - img_openlabels_back->h;
|
dest.y = (48 * 7 + 40 + HEIGHTOFFSET) - img_openlabels_back->h;
|
||||||
SDL_BlitSurface(img_openlabels_back, NULL, screen, &dest);
|
SDL_BlitSurface(img_openlabels_back, NULL, screen, &dest);
|
||||||
|
|
||||||
|
|
||||||
/* Speed control: */
|
/* Speed control: */
|
||||||
|
|
||||||
speeds = 10;
|
speeds = 10;
|
||||||
x_per = 96.0 / speeds;
|
x_per = 96.0 / speeds;
|
||||||
y_per = 48.0 / speeds;
|
y_per = 48.0 / speeds;
|
||||||
|
|
@ -13815,10 +13830,10 @@ int do_slideshow(void)
|
||||||
|
|
||||||
for (i = found; i < num_selected - 1; i++)
|
for (i = found; i < num_selected - 1; i++)
|
||||||
selected[i] = selected[i + 1];
|
selected[i] = selected[i + 1];
|
||||||
|
|
||||||
num_selected--;
|
num_selected--;
|
||||||
}
|
}
|
||||||
|
|
||||||
update_list = 1;
|
update_list = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -13878,7 +13893,7 @@ int do_slideshow(void)
|
||||||
selected[i] = i;
|
selected[i] = i;
|
||||||
num_selected = num_files;
|
num_selected = num_files;
|
||||||
}
|
}
|
||||||
|
|
||||||
play_slideshow(selected, num_selected, dirname, d_names, d_exts, speed);
|
play_slideshow(selected, num_selected, dirname, d_names, d_exts, speed);
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -13888,12 +13903,12 @@ int do_slideshow(void)
|
||||||
draw_toolbar();
|
draw_toolbar();
|
||||||
draw_colors(COLORSEL_CLOBBER_WIPE);
|
draw_colors(COLORSEL_CLOBBER_WIPE);
|
||||||
draw_none();
|
draw_none();
|
||||||
|
|
||||||
freeme = textdir(gettext_noop("Choose the pictures you want, "
|
freeme = textdir(gettext_noop("Choose the pictures you want, "
|
||||||
"then click “Play”."));
|
"then click “Play”."));
|
||||||
draw_tux_text(TUX_BORED, freeme, 1);
|
draw_tux_text(TUX_BORED, freeme, 1);
|
||||||
free(freeme);
|
free(freeme);
|
||||||
|
|
||||||
SDL_Flip(screen);
|
SDL_Flip(screen);
|
||||||
|
|
||||||
update_list = 1;
|
update_list = 1;
|
||||||
|
|
@ -13903,7 +13918,7 @@ int do_slideshow(void)
|
||||||
event.button.y < (48 * 7 + 40 + HEIGHTOFFSET))
|
event.button.y < (48 * 7 + 40 + HEIGHTOFFSET))
|
||||||
{
|
{
|
||||||
/* Speed slider */
|
/* Speed slider */
|
||||||
|
|
||||||
int old_speed, control_sound, click_x;
|
int old_speed, control_sound, click_x;
|
||||||
|
|
||||||
old_speed = speed;
|
old_speed = speed;
|
||||||
|
|
@ -14072,7 +14087,7 @@ void play_slideshow(int * selected, int num_selected, char * dirname,
|
||||||
do_setcursor(cursor_tiny);
|
do_setcursor(cursor_tiny);
|
||||||
|
|
||||||
done = 0;
|
done = 0;
|
||||||
|
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
for (i = 0; i < num_selected && !done; i++)
|
for (i = 0; i < num_selected && !done; i++)
|
||||||
|
|
@ -14126,7 +14141,7 @@ void play_slideshow(int * selected, int num_selected, char * dirname,
|
||||||
dest.y = screen->h - img_openlabels_back->h;
|
dest.y = screen->h - img_openlabels_back->h;
|
||||||
SDL_BlitSurface(img_openlabels_back, NULL, screen, &dest);
|
SDL_BlitSurface(img_openlabels_back, NULL, screen, &dest);
|
||||||
|
|
||||||
|
|
||||||
/* "Next" button: */
|
/* "Next" button: */
|
||||||
|
|
||||||
dest.x = 0;
|
dest.x = 0;
|
||||||
|
|
@ -14137,7 +14152,7 @@ void play_slideshow(int * selected, int num_selected, char * dirname,
|
||||||
dest.y = screen->h - img_openlabels_next->h;
|
dest.y = screen->h - img_openlabels_next->h;
|
||||||
SDL_BlitSurface(img_openlabels_next, NULL, screen, &dest);
|
SDL_BlitSurface(img_openlabels_next, NULL, screen, &dest);
|
||||||
|
|
||||||
|
|
||||||
SDL_Flip(screen);
|
SDL_Flip(screen);
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -14145,7 +14160,7 @@ void play_slideshow(int * selected, int num_selected, char * dirname,
|
||||||
|
|
||||||
next = 0;
|
next = 0;
|
||||||
last_ticks = SDL_GetTicks();
|
last_ticks = SDL_GetTicks();
|
||||||
|
|
||||||
do
|
do
|
||||||
{
|
{
|
||||||
while (SDL_PollEvent(&event))
|
while (SDL_PollEvent(&event))
|
||||||
|
|
@ -14153,7 +14168,7 @@ void play_slideshow(int * selected, int num_selected, char * dirname,
|
||||||
if (event.type == SDL_QUIT)
|
if (event.type == SDL_QUIT)
|
||||||
{
|
{
|
||||||
/* FIXME: Handle SDL_QUIT better! */
|
/* FIXME: Handle SDL_QUIT better! */
|
||||||
|
|
||||||
next = 1;
|
next = 1;
|
||||||
done = 1;
|
done = 1;
|
||||||
}
|
}
|
||||||
|
|
@ -14166,7 +14181,7 @@ void play_slideshow(int * selected, int num_selected, char * dirname,
|
||||||
if (key == SDLK_RETURN || key == SDLK_SPACE || key == SDLK_RIGHT)
|
if (key == SDLK_RETURN || key == SDLK_SPACE || key == SDLK_RIGHT)
|
||||||
{
|
{
|
||||||
/* RETURN, SPACE or RIGHT: Skip to next right away! */
|
/* RETURN, SPACE or RIGHT: Skip to next right away! */
|
||||||
|
|
||||||
next = 1;
|
next = 1;
|
||||||
playsound(screen, 1, SND_CLICK, 1, SNDPOS_LEFT, SNDDIST_NEAR);
|
playsound(screen, 1, SND_CLICK, 1, SNDPOS_LEFT, SNDDIST_NEAR);
|
||||||
}
|
}
|
||||||
|
|
@ -14248,7 +14263,7 @@ void play_slideshow(int * selected, int num_selected, char * dirname,
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
while (!done);
|
while (!done);
|
||||||
|
|
||||||
strcpy(starter_id, tmp_starter_id);
|
strcpy(starter_id, tmp_starter_id);
|
||||||
free(tmp_starter_id);
|
free(tmp_starter_id);
|
||||||
|
|
||||||
|
|
@ -15758,7 +15773,7 @@ SDL_Surface * load_svg(char * file)
|
||||||
#endif
|
#endif
|
||||||
return(NULL);
|
return(NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Parse the SVG file:
|
// Parse the SVG file:
|
||||||
if (svg_cairo_parse(scr, file) != SVG_CAIRO_STATUS_SUCCESS)
|
if (svg_cairo_parse(scr, file) != SVG_CAIRO_STATUS_SUCCESS)
|
||||||
{
|
{
|
||||||
|
|
@ -15774,7 +15789,7 @@ SDL_Surface * load_svg(char * file)
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
printf("svg_get_size(): %d x %d\n", rwidth, rheight);
|
printf("svg_get_size(): %d x %d\n", rwidth, rheight);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
if (rwidth == 0 || rheight == 0)
|
if (rwidth == 0 || rheight == 0)
|
||||||
{
|
{
|
||||||
svg_cairo_destroy(scr);
|
svg_cairo_destroy(scr);
|
||||||
|
|
@ -15788,7 +15803,7 @@ SDL_Surface * load_svg(char * file)
|
||||||
// the screen SDL format, but we are interested in the alpha bit...
|
// the screen SDL format, but we are interested in the alpha bit...
|
||||||
bpp = 32;
|
bpp = 32;
|
||||||
btpp = 4;
|
btpp = 4;
|
||||||
|
|
||||||
// We want to render at full Tux Paint canvas size, so that the stamp
|
// We want to render at full Tux Paint canvas size, so that the stamp
|
||||||
// at its largest scale remains highest quality (no pixelization):
|
// at its largest scale remains highest quality (no pixelization):
|
||||||
// (but not messing up the aspect ratio)
|
// (but not messing up the aspect ratio)
|
||||||
|
|
@ -15856,7 +15871,7 @@ SDL_Surface * load_svg(char * file)
|
||||||
|
|
||||||
// Create the SDL surface using the pixel data stored:
|
// Create the SDL surface using the pixel data stored:
|
||||||
sdl_surface_tmp = SDL_CreateRGBSurfaceFrom((void *) image, width, height,
|
sdl_surface_tmp = SDL_CreateRGBSurfaceFrom((void *) image, width, height,
|
||||||
bpp, stride,
|
bpp, stride,
|
||||||
rmask, gmask, bmask, amask);
|
rmask, gmask, bmask, amask);
|
||||||
|
|
||||||
if (sdl_surface_tmp == NULL)
|
if (sdl_surface_tmp == NULL)
|
||||||
|
|
@ -15951,7 +15966,7 @@ float pick_best_scape(unsigned int orig_w, unsigned int orig_h,
|
||||||
// Taller-than-wide
|
// Taller-than-wide
|
||||||
|
|
||||||
scale = hscale;
|
scale = hscale;
|
||||||
|
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
printf("Taller-than-wide. Using hscale.\n");
|
printf("Taller-than-wide. Using hscale.\n");
|
||||||
printf("new size would be: %d x %d\n",
|
printf("new size would be: %d x %d\n",
|
||||||
|
|
@ -15962,7 +15977,7 @@ float pick_best_scape(unsigned int orig_w, unsigned int orig_h,
|
||||||
if ((float) orig_w * scale > (float) max_w)
|
if ((float) orig_w * scale > (float) max_w)
|
||||||
{
|
{
|
||||||
scale = wscale;
|
scale = wscale;
|
||||||
|
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
printf("Too wide! Using wscale!\n");
|
printf("Too wide! Using wscale!\n");
|
||||||
printf("new size would be: %d x %d\n",
|
printf("new size would be: %d x %d\n",
|
||||||
|
|
@ -15982,4 +15997,3 @@ float pick_best_scape(unsigned int orig_w, unsigned int orig_h,
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue