Merged revisions 6292,6294-6295,6311,6314 via svnmerge from

svn+ssh://ardoursvn@subversion.ardour.org/ardour2/branches/build_fixes

........
  r6292 | trutkin | 2009-12-05 08:31:25 -0500 (Sat, 05 Dec 2009) | 1 line
  
  remove scons build files
........
  r6294 | trutkin | 2009-12-05 09:11:17 -0500 (Sat, 05 Dec 2009) | 2 lines
  
  cairomm
  remove unnecessary vendor libraries as we now rely on the developer to install them
........
  r6295 | trutkin | 2009-12-05 09:12:54 -0500 (Sat, 05 Dec 2009) | 2 lines
  
  soundtouch
  remove unnecessary vendor libraries as we now rely on the developer to install them
........
  r6311 | trutkin | 2009-12-05 23:38:49 -0500 (Sat, 05 Dec 2009) | 2 lines

  glibmm2, gtkmm2, libgnomecanvasmm, sigc++2  
  remove unnecessary vendor libraries as we now rely on the developer to install them
........
  r6314 | trutkin | 2009-12-06 09:15:49 -0500 (Sun, 06 Dec 2009) | 4 lines
  
  remove scons referencing from Makefile
  
  - TODO: should move cscope stuff to waf and get rid of the Makefile
........


git-svn-id: svn://localhost/ardour2/branches/3.0@6315 d708f5d6-7413-0410-9779-e7cbd77b26cf
This commit is contained in:
Taybin Rutkin 2009-12-06 14:21:46 +00:00
parent 3fdcba1859
commit 52b4b464f9
2325 changed files with 0 additions and 894489 deletions

View File

@ -1,11 +1,3 @@
all: scons
scons:
scons
sconsi:
scons --implicit-deps-unchanged
cscope: cscope.out
cscope.out: cscope.files

1500
SConstruct

File diff suppressed because it is too large Load Diff

View File

@ -1,638 +0,0 @@
# -*- python -*-
import os
import os.path
import glob
Import('env install_prefix final_prefix config_prefix libraries i18n ardour_version')
gtkardour = env.Clone()
gtkmmtests = env.Clone()
#
# this defines the version number of the GTK interface to ardour
#
domain = 'gtk2_ardour'
gtkardour.Append(DOMAIN=domain, MAJOR=1,MINOR=0,MICRO=2)
gtkardour.Append(CCFLAGS="-DPACKAGE=\\\"" + domain + "\\\"")
gtkardour.Append(CXXFLAGS="-DPACKAGE=\\\"" + domain + "\\\"")
gtkardour.Append(CXXFLAGS=["-DLIBSIGC_DISABLE_DEPRECATED", "-DGLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED", "-DGLIBMM_EXCEPTIONS_ENABLED", "-DGLIBMM_PROPERTIES_ENABLED"])
gtkardour.Append(CPPPATH="#/") # for top level svn_revision.h
#gtkardour.Append(CXXFLAGS="-DFLOWCANVAS_AA")
gtkardour.Append(PACKAGE=domain)
gtkardour.Append(POTFILE=domain + '.pot')
if gtkardour['IS_OSX']:
gtkardour.Append (LINKFLAGS="-Xlinker -headerpad -Xlinker 2048 -framework CoreAudio")
gtkardour.Merge ([
libraries['ardour'],
libraries['ardour_cp'],
libraries['asound'],
libraries['atkmm'],
libraries['cairomm'],
libraries['fftw3'],
libraries['fftw3f'],
libraries['freetype2'],
libraries['gdkmm2'],
libraries['glib2'],
libraries['glibmm2'],
libraries['gtk2'],
libraries['gtkmm2'],
libraries['gtkmm2ext'],
libraries['jack'],
libraries['libgnomecanvas2'],
libraries['libgnomecanvasmm'],
libraries['lrdf'],
libraries['midi++2'],
libraries['smf'],
libraries['evoral'],
libraries['pangomm'],
libraries['pbd'],
libraries['samplerate'],
libraries['sigc2'],
libraries['sndfile'],
libraries['taglib'],
libraries['sysmidi'],
libraries['vamphost'],
libraries['vamp'],
libraries['xml'],
libraries['xslt']
])
gtkmmtests.Append(CXXFLAGS="-DLIBSIGC_DISABLE_DEPRECATED")
gtkmmtests.Merge ([
libraries['atkmm'],
libraries['gdkmm2'],
libraries['glib2'],
libraries['glibmm2'],
libraries['gtk2'],
libraries['gtkmm2'],
libraries['pangomm'],
libraries['sigc2']
])
if gtkardour['DMALLOC']:
gtkardour.Merge([libraries['dmalloc']])
gtkardour.Append(CCFLAGS='-DUSE_DMALLOC')
if gtkardour['FREESOUND']:
gtkardour.Merge ([libraries['curl']])
gtkardour.Append(CCFLAGS='-DFREESOUND')
if gtkardour['RUBBERBAND']:
gtkardour.Merge ([ libraries['rubberband'] ])
else:
gtkardour.Merge ([ libraries['soundtouch'] ])
audiounit_files=Split("""
au_pluginui.mm
""")
gtkosx_files=Split("""
cocoacarbon.mm
""")
x11_files=Split("""
x11.cc
""")
gtkardour_files=Split("""
about.cc
actions.cc
add_midi_cc_track_dialog.cc
add_route_dialog.cc
analysis_window.cc
ardour_dialog.cc
ardour_ui.cc
ardour_ui2.cc
ardour_ui_dependents.cc
ardour_ui_dialogs.cc
ardour_ui_ed.cc
ardour_ui_mixer.cc
ardour_ui_options.cc
audio_clock.cc
audio_region_editor.cc
audio_region_view.cc
audio_streamview.cc
audio_time_axis.cc
automation_controller.cc
automation_line.cc
automation_region_view.cc
automation_streamview.cc
automation_time_axis.cc
axis_view.cc
bundle_manager.cc
canvas-flag.cc
canvas-note-event.cc
canvas-note.cc
canvas-program-change.cc
canvas-simpleline.c
canvas-simplerect.c
canvas-sysex.cc
canvas-waveview.c
control_point.cc
control_point_dialog.cc
crossfade_edit.cc
crossfade_view.cc
curvetest.cc
diamond.cc
editing.cc
editor.cc
editor_actions.cc
editor_audio_import.cc
editor_audiotrack.cc
editor_canvas.cc
editor_canvas_events.cc
editor_cursors.cc
editor_drag.cc
editor_edit_groups.cc
editor_export_audio.cc
editor_hscroller.cc
editor_keyboard.cc
editor_keys.cc
editor_markers.cc
editor_mixer.cc
editor_mouse.cc
editor_nudge.cc
editor_ops.cc
editor_region_list.cc
editor_route_list.cc
editor_rulers.cc
editor_scrub.cc
editor_selection.cc
editor_selection_list.cc
editor_summary.cc
editor_tempodisplay.cc
editor_timefx.cc
engine_dialog.cc
enums.cc
export_channel_selector.cc
export_dialog.cc
export_file_notebook.cc
export_filename_selector.cc
export_format_dialog.cc
export_format_selector.cc
export_preset_selector.cc
export_timespan_selector.cc
fft.cc
fft_graph.cc
fft_result.cc
gain_meter.cc
generic_pluginui.cc
ghostregion.cc
global_port_matrix.cc
gtk-custom-hruler.c
gtk-custom-ruler.c
io_selector.cc
keyboard.cc
keyeditor.cc
latency_gui.cc
level_meter.cc
lineset.cc
location_ui.cc
main.cc
marker.cc
midi_channel_selector.cc
midi_port_dialog.cc
midi_region_view.cc
midi_scroomer.cc
midi_streamview.cc
midi_time_axis.cc
mixer_strip.cc
mixer_ui.cc
nag.cc
option_editor.cc
opts.cc
panner.cc
panner2d.cc
panner_ui.cc
piano_roll_header.cc
playlist_selector.cc
plugin_eq_gui.cc
plugin_selector.cc
plugin_ui.cc
port_group.cc
port_matrix.cc
port_matrix_body.cc
port_matrix_column_labels.cc
port_matrix_component.cc
port_matrix_grid.cc
port_matrix_labels.cc
port_matrix_row_labels.cc
processor_box.cc
prompter.cc
public_editor.cc
rc_option_editor.cc
region_gain_line.cc
region_selection.cc
region_view.cc
return_ui.cc
rhythm_ferret.cc
route_params_ui.cc
route_processor_selection.cc
route_time_axis.cc
route_ui.cc
selection.cc
send_ui.cc
session_import_dialog.cc
session_metadata_dialog.cc
session_option_editor.cc
sfdb_ui.cc
simpleline.cc
simplerect.cc
splash.cc
startup.cc
streamview.cc
strip_silence_dialog.cc
tape_region_view.cc
tempo_dialog.cc
tempo_lines.cc
theme_manager.cc
time_axis_view.cc
time_axis_view_item.cc
time_fx_dialog.cc
time_selection.cc
ui_config.cc
utils.cc
version.cc
waveview.cc
""")
freesound_files=Split("""
sfdb_freesound_mootcher.cc
""")
pixmap_files = glob.glob('pixmaps/*.xpm')
icon_files = glob.glob ('icons/*.png')
intl_files = gtkardour_files + glob.glob('*.h')
evtest_files=Split("""
evtest.cc
""")
mtest_files=Split("""
mtest.cc
""")
rcu_files=Split("""
rcu.cc
""")
itest_files=Split("""
itest.cc
""")
stest_files=Split("""
stest.cc
""")
tt_files=Split ("""
tt.cc
""")
extra_sources = []
vst_files = [ 'vst_pluginui.cc' ]
if env['VST']:
extra_sources += vst_files
gtkardour.Append (CCFLAGS="-DVST_SUPPORT", CPPPATH="#libs/fst")
lv2_files = [ 'lv2_plugin_ui.cc' ]
if env['LV2']:
extra_sources += lv2_files
gtkardour.Append (CCFLAGS="-DHAVE_SLV2")
gtkardour.Merge ([libraries['slv2']])
if gtkardour['GTKOSX']:
extra_sources += gtkosx_files
gtkardour.Append (CCFLAGS="-DTOP_MENUBAR -DGTKOSX")
gtkardour.Append (LINKFLAGS=" -framework AppKit -framework CoreAudioKit")
if gtkardour['AUDIOUNITS']:
extra_sources += audiounit_files
gtkardour.Append(CCFLAGS='-DHAVE_AUDIOUNITS')
gtkardour.Merge([libraries['appleutility']])
else:
extra_sources += x11_files
if env['FREESOUND']:
extra_sources += freesound_files
intl_files += extra_sources
gtkardour.Append(CCFLAGS="-D_REENTRANT -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE")
gtkardour.Append(CXXFLAGS="-DLOCALEDIR=\\\""+final_prefix+"/share/locale\\\"")
versionflag = '-DVERSIONSTRING=\\\"' + env['VERSION'] + '\\\"'
gtkardour.Append(CXXFLAGS=versionflag)
executable = 'ardour-' + ardour_version
ardour = gtkardour.Program(target = executable, source = gtkardour_files + extra_sources)
ardourlib = gtkardour.SharedLibrary(target = 'ardourgtk', source = gtkardour_files + extra_sources)
evest = gtkmmtests.Program(target = 'evtest', source = evtest_files)
mtest = gtkardour.Program(target = 'mtest', source = mtest_files)
itest = gtkardour.Program(target = 'itest', source = itest_files)
rcu = gtkardour.Program(target = 'rcu', source = rcu_files)
tt = gtkmmtests.Program(target = 'tt', source = tt_files)
my_font_dict = { }
if gtkardour['IS_OSX']:
#
# OS X font rendering is different even with X11
#
font_sizes = {
'TINY' : '7',
'SMALLER' : '9',
'SMALL' : '10',
'NORMAL' : '11',
'BIG' : '12',
'BIGGER' : '14',
'LARGE' : '18',
'LARGER' : '28',
'HUGER' : '36',
'MASSIVE' : '60'
}
basefont = "Lucida Grande"
else:
#
# Linux/X11 font rendering
#
if gtkardour['OLDFONTS']:
font_sizes = {
'TINY' : '4',
'SMALLER' : '6',
'SMALL' : '7',
'NORMAL' : '8',
'BIG' : '12',
'BIGGER' : '14',
'LARGE' : '18',
'LARGER' : '24',
'HUGER' : '34',
'MASSIVE' : '60'
}
else:
font_sizes = {
'TINY' : '6',
'SMALLER' : '8',
'SMALL' : '9',
'NORMAL' : '10',
'BIG' : '14',
'BIGGER' : '16',
'LARGE' : '18',
'LARGER' : '24',
'HUGER' : '34',
'MASSIVE' : '60'
}
basefont = "sans"
for style in ['', 'BOLD', 'ITALIC']:
for sizename,points in font_sizes.iteritems():
if (len (style)):
key = "_".join (['FONT',style,sizename])
fontstyle = " ".join ([basefont,style.lower(),points])
else:
key = "_".join (['FONT',sizename])
fontstyle = " ".join ([basefont,points])
key = '%' + key + '%'
my_font_dict[key] = fontstyle
#
# create menus based on build platform
#
if env['GTKOSX']:
ardour_menus = env.Command ('ardour.menus', 'ardour.menus.in', "cpp -E -P -DGTKOSX -DTOP_MENUBAR ardour.menus.in ardour.menus", chdir=1)
else:
ardour_menus = env.Command ('ardour.menus', 'ardour.menus.in', "cpp -E -P ardour.menus.in ardour.menus", chdir=1)
ardour_dark_theme = env.SubstInFile ('ardour3_ui_dark.rc',
'ardour3_ui_dark.rc.in',
SUBST_DICT = my_font_dict)
ardour_light_theme = env.SubstInFile ('ardour3_ui_light.rc',
'ardour3_ui_light.rc.in',
SUBST_DICT = my_font_dict)
ardour_dark_sae_theme = env.SubstInFile ('ardour3_ui_dark_sae.rc',
'ardour3_ui_dark_sae.rc.in',
SUBST_DICT = my_font_dict)
ardour_light_sae_theme = env.SubstInFile ('ardour3_ui_light_sae.rc',
'ardour3_ui_light_sae.rc.in',
SUBST_DICT = my_font_dict)
my_subst_dict = { }
#
# null substitution just to avoid ardour.bindings being in svn
#
keybindings_dict = { }
if gtkardour['GTKOSX']:
#
# Command(Meta), Alt(Mod1), Ctrl, Shift
# **** as of february 4th 2008, OUR VERSION OF *****
# Gtk/Quartz maps:
# NSCommand (aka "Command" aka "Apple" aka "Cauliflower") -> Meta
# NSAlternate (aka "Option") -> Mod1
#
keybindings_dict['@PRIMARY@'] = 'Meta'
keybindings_dict['@SECONDARY@'] = 'Mod1'
keybindings_dict['@TERTIARY@'] = 'Shift'
keybindings_dict['@LEVEL4@'] = 'Ctrl'
keybindings_dict['@WINDOW@'] = 'Mod1'
else:
#
# Ctrl, Alt, Shift, Mod4(Super/Windows/Hyper)
#
keybindings_dict['@PRIMARY@'] = 'Ctrl'
keybindings_dict['@SECONDARY@'] = 'Alt'
keybindings_dict['@TERTIARY@'] = 'Shift'
keybindings_dict['@LEVEL4@'] = env['WINDOWS_KEY']
keybindings_dict['@WINDOW@'] = 'Alt'
for b in [ 'SAE-de-keypad', 'SAE-de-nokeypad', 'SAE-us-keypad', 'SAE-us-nokeypad', 'mnemonic-us', 'ergonomic-us' ]:
target_file = b + '.bindings'
src_file = target_file + '.in'
Default (env.SubstInFile (target_file, src_file, SUBST_DICT = keybindings_dict))
my_subst_dict['@INSTALL_PREFIX@'] = final_prefix
my_subst_dict['@LIBDIR@'] = env['LIBDIR']
my_subst_dict['@LIBS@'] = 'libs'
my_subst_dict['@VERSION@'] = ardour_version
my_subst_dict['@EXECUTABLE@'] = 'gtk2_ardour/ardour-' + ardour_version
ardoursh = env.SubstInFile ('ardour.sh','ardour.sh.in', SUBST_DICT = my_subst_dict);
env.AddPostAction (ardoursh, Chmod ('$TARGET', 0755))
ardourdev = env.SubstInFile ('ardev_common.sh','ardev_common.sh.in', SUBST_DICT = my_subst_dict);
env.AddPostAction (ardourdev, Chmod ('$TARGET', 0755))
Default(ardourdev)
Default(ardoursh)
Default(ardour_dark_theme)
Default(ardour_light_theme)
Default(ardour_dark_sae_theme)
Default(ardour_light_sae_theme)
Default(ardour_menus)
if env['VST']:
Default(ardourlib)
# the library - into the library dir
env.Alias('install', env.Install(os.path.join(install_prefix, env['LIBDIR'], 'ardour3'), ardourlib))
else:
if env['VERSIONED']:
Default (env.VersionedExecutable ('tagged_executable', ardour))
else:
Default(ardour)
#install
# the executable - into the library dir
env.Alias('install', env.Install(os.path.join(install_prefix, env['LIBDIR'], 'ardour3'), ardour))
# the script - into the bin dir
env.Alias('install', env.InstallAs(os.path.join(install_prefix, 'bin')+'/ardour3', ardoursh))
if env['NLS']:
i18n (gtkardour, gtkardour_files, env)
# configuration files
env.Alias('install', env.Install(os.path.join(config_prefix, 'ardour3'), ardour_dark_theme))
env.Alias('install', env.Install(os.path.join(config_prefix, 'ardour3'), ardour_light_theme))
env.Alias('install', env.Install(os.path.join(config_prefix, 'ardour3'), ardour_dark_sae_theme))
env.Alias('install', env.Install(os.path.join(config_prefix, 'ardour3'), ardour_light_sae_theme))
env.Alias('install', env.Install(os.path.join(config_prefix, 'ardour3'), 'ardour3_ui_default.conf'))
env.Alias('install', env.Install(os.path.join(config_prefix, 'ardour3'), 'ardour.menus'))
env.Alias('install', env.Install(os.path.join(config_prefix, 'ardour3'), 'ardour-sae.menus'))
env.Alias('install', env.Install(os.path.join(config_prefix, 'ardour3'), 'ergonomic-us.bindings'))
env.Alias('install', env.Install(os.path.join(config_prefix, 'ardour3'), 'mnemonic-us.bindings'))
env.Alias('install', env.Install(os.path.join(config_prefix, 'ardour3'), 'SAE-de-keypad.bindings'))
env.Alias('install', env.Install(os.path.join(config_prefix, 'ardour3'), 'SAE-us-keypad.bindings'))
env.Alias('install', env.Install(os.path.join(config_prefix, 'ardour3'), 'SAE-de-nokeypad.bindings'))
env.Alias('install', env.Install(os.path.join(config_prefix, 'ardour3'), 'SAE-us-nokeypad.bindings'))
# data files
env.Alias('install', env.Install(os.path.join(install_prefix, 'share', 'ardour3'), 'splash.png'))
env.Alias('install', env.Install(os.path.join(install_prefix, 'share', 'ardour3', 'pixmaps'), pixmap_files))
env.Alias('install', env.Install(os.path.join(install_prefix, 'share', 'ardour3', 'icons'), icon_files))
env.Alias ('version', gtkardour.VersionBuild(['version.cc','version.h'], []))
env.Alias ('version', gtkardour.VersionBuild(['version.cc','version.h'], []))
# This will install icons and MIME type as per freedesktop.org specs. #
if env['FREEDESKTOP']:
desktop_icon_install_prefix = install_prefix + '/share/icons/hicolor'
# Install the desktop icons to the default locations #
env.Alias('install', env.InstallAs(os.path.join(desktop_icon_install_prefix, '16x16', 'apps', 'ardour3.png'), 'icons/ardour_icon_16px.png'))
env.Alias('install', env.InstallAs(os.path.join(desktop_icon_install_prefix, '22x22', 'apps', 'ardour3.png'), 'icons/ardour_icon_22px.png'))
env.Alias('install', env.InstallAs(os.path.join(desktop_icon_install_prefix, '32x32', 'apps', 'ardour3.png'), 'icons/ardour_icon_32px.png'))
env.Alias('install', env.InstallAs(os.path.join(desktop_icon_install_prefix, '48x48', 'apps', 'ardour3.png'), 'icons/ardour_icon_48px.png'))
# Install the mime type xml file and its icon #
env.Alias('install', env.Install(os.path.join(install_prefix, 'share', 'mime', 'packages'), 'ardour3.xml'))
env.Alias('install', env.InstallAs(os.path.join(desktop_icon_install_prefix, '16x16', 'mimetypes', 'application-x-ardour3.png'), 'icons/application-x-ardour_16px.png'))
env.Alias('install', env.InstallAs(os.path.join(desktop_icon_install_prefix, '22x22', 'mimetypes', 'application-x-ardour3.png'), 'icons/application-x-ardour_22px.png'))
env.Alias('install', env.InstallAs(os.path.join(desktop_icon_install_prefix, '32x32', 'mimetypes', 'application-x-ardour3.png'), 'icons/application-x-ardour_32px.png'))
env.Alias('install', env.InstallAs(os.path.join(desktop_icon_install_prefix, '48x48', 'mimetypes', 'application-x-ardour3.png'), 'icons/application-x-ardour_48px.png'))
env.Alias('install', env.Command (os.path.join(install_prefix, 'share', 'mime'), [], 'update-mime-database $TARGET'))
# Update the icon cache #
env.Alias('install', env.Command (desktop_icon_install_prefix, [], 'touch --no-create $TARGET'))
env.Alias('install', env.Command (desktop_icon_install_prefix, [], 'gtk-update-icon-cache $TARGET'))
# Make the ardour3.desktop file and install it #
env.Alias('install', env.Command ('ardour3.desktop', 'ardour3.desktop.in', 'cat $SOURCES > $TARGET'))
env.Alias('install', env.Install(os.path.join(install_prefix, 'share', 'applications'), 'ardour3.desktop'))
env.Alias('install', env.Command (os.path.join(install_prefix, 'share', 'applications'), [], 'update-desktop-database $TARGET'))
# uninstall target.. needed to run update-mime-database and update-desktop-database after removal. #`
remove_desktop_files = env.Command ('another_frobnicatory_decoy', [],
[ Delete (install_prefix + '/share/mime/packages/ardour3.xml'),
Delete (install_prefix + '/share/applications/ardour3.desktop'),
Delete (desktop_icon_install_prefix + '/16x16/apps/ardour3.png'),
Delete (desktop_icon_install_prefix + '/22x22/apps/ardour3.png'),
Delete (desktop_icon_install_prefix + '/32x32/apps/ardour3.png'),
Delete (desktop_icon_install_prefix + '/48x48/apps/ardour3.png'),
Delete (desktop_icon_install_prefix + '/16x16/mimetypes/application-x-ardour3.png'),
Delete (desktop_icon_install_prefix + '/22x22/mimetypes/application-x-ardour3.png'),
Delete (desktop_icon_install_prefix + '/32x32/mimetypes/application-x-ardour3.png'),
Delete (desktop_icon_install_prefix + '/48x48/mimetypes/application-x-ardour3.png'),
Action ('update-mime-database ' + install_prefix + '/share/mime'),
Action ('gtk-update-icon-cache ' + desktop_icon_install_prefix),
Action ('update-desktop-database ' + install_prefix + '/share/applications')])
env.Alias('uninstall', remove_desktop_files)
#dist
env.Alias ('tarball', env.Distribute (env['DISTTREE'],
[ 'SConscript',
'i18n.h', 'gettext.h',
'ardour.sh.in',
'ardev_common.sh.in',
'ardev', 'ardbg',
'ardour3_ui_dark.rc.in',
'ardour3_ui_light.rc.in',
'ardour3_ui_dark_sae.rc.in',
'ardour3_ui_light_sae.rc.in',
'splash.png',
'ardour.menus.in',
'ardour-sae.menus',
'mnemonic-us.bindings.in',
'ergonomic-us.bindings.in',
'SAE-us-keypad.bindings.in',
'SAE-us-nokeypad.bindings.in',
'SAE-de-keypad.bindings.in',
'SAE-de-nokeypad.bindings.in',
'ardour3_ui_default.conf',
'editor_xpms',
'ardour3.xml',
'ardour3.desktop.in'
] +
gtkardour_files +
vst_files +
pixmap_files +
icon_files +
audiounit_files +
lv2_files +
gtkosx_files +
x11_files +
freesound_files +
glob.glob('po/*.po') + glob.glob('*.h')))
# generate a prototype full-featured ardour_ui.rc file
env.Alias ('protorc', env.Command ('proto.rc', gtkardour_files, """
grep set_name $SOURCES | \
sed 's/.*("\([a-zA-Z_][a-zA-Z_]*\)").*/\\1/' | \
grep -v '\\.' | sort | uniq | \
awk '/\\./ {} { printf ("style \\"%s\\"\\n{\\n\
fg[NORMAL] = { 0, 0, 0 }\\n\
fg[ACTIVE] = { 0, 0, 0 }\\n\
fg[SELECTED] = { 0, 0, 0 }\\n\
bg[NORMAL] = { 0, 0, 0 }\\n\
bg[ACTIVE] = { 0, 0, 0 }\\n\
bg[SELECTED] = { 0, 0, 0 }\\n\
}\\nwidget \\"*%s\\" style \\"%s\\"\\nwidget \\"*%s*\\" style \\"%s\\"\\n\\n", \
$$0, $$0, $$0, $$0, $$0) }' > $TARGET && \
grep 'color_map\[[a-zA-Z_][a-zA-Z]*\]' $SOURCES | \
sed 's/.*\[\([a-zA-Z_][a-zA-Z_]*\)].*/\\1/'| \
sort | uniq | \
awk '{ printf ("style \\"%s\\"\\n{\\n\
fg[NORMAL] = { 0, 0, 0 }\\n\
fg[ACTIVE] = { 0, 0, 0 }\\n\
}\\nwidget \\"*%s\\" style \\"%s\\"\\n \\n\\n", $$0, $$0, $$0) }' >> $TARGET ;
"""
))

View File

@ -1,10 +0,0 @@
# -*- python -*-
import os
import glob
pixmap_files = glob.glob('*.xpm')
Import('env install_prefix')
env.Alias('install', env.Install(os.path.join(install_prefix, 'share', 'ardour', 'pixmaps'), pixmap_files))
env.Alias('tarball', env.Distribute(env['DISTTREE'], [ 'SConscript' ] + pixmap_files))

View File

@ -1,22 +0,0 @@
# -*- python -*-
import os
import os.path
import glob
appleutility_files = [ glob.glob('*.cpp') + glob.glob('*.c') + glob.glob('*.C') ]
Import('env install_prefix')
appleutility = env.Clone()
appleutility.Append(LINKFLAGS='-framework AudioToolbox')
appleutility.Append(LINKFLAGS='-framework AudioUnit')
appleutility.Append(LINKFLAGS='-framework CoreFoundation')
appleutility.Append(LINKFLAGS='-framework CoreServices')
libappleutility = appleutility.SharedLibrary('appleutility', appleutility_files)
if appleutility['COREAUDIO']:
Default(libappleutility)
env.Alias('install', env.Install(os.path.join(install_prefix, env['LIBDIR'], 'ardour3'), libappleutility))
env.Alias('tarball', env.Distribute (env['DISTTREE'], ['SConscript'] + appleutility_files + glob.glob('*.h') ))

View File

@ -1,425 +0,0 @@
# -*- python -*-
import os
import os.path
import glob
Import('env final_prefix install_prefix final_config_prefix libraries i18n')
ardour = env.Clone()
#
# this defines the version number of libardour
#
domain = 'libardour3'
ardour.Append(DOMAIN = domain, MAJOR = 3, MINOR = 0, MICRO = 0)
ardour.Append(CXXFLAGS = "-DPACKAGE=\\\"" + domain + "\\\"")
ardour.Append(CXXFLAGS=["-DLIBSIGC_DISABLE_DEPRECATED", "-DGLIBMM_EXCEPTIONS_ENABLED"])
ardour.Append(PACKAGE = domain)
ardour.Append(POTFILE = domain + '.pot')
if ardour['IS_OSX']:
ardour.Append (LINKFLAGS="-Xlinker -headerpad -Xlinker 2048")
#
# explicitly reference the control protocol LGPL library for includes
#
ardour.Append(CPPPATH = '#libs/surfaces/control_protocol')
ardour_files=Split("""
amp.cc
analyser.cc
audio_buffer.cc
audio_diskstream.cc
audio_library.cc
audio_playlist.cc
audio_playlist_importer.cc
audio_port.cc
audio_region_importer.cc
audio_track.cc
audio_track_importer.cc
audioanalyser.cc
audioengine.cc
audiofile_tagger.cc
audiofilesource.cc
audioregion.cc
audiosource.cc
auditioner.cc
automatable.cc
automation.cc
automation_control.cc
automation_list.cc
beats_frames_converter.cc
broadcast_info.cc
buffer.cc
buffer_set.cc
bundle.cc
chan_count.cc
chan_mapping.cc
configuration.cc
control_protocol_manager.cc
control_protocol_search_path.cc
crossfade.cc
cycle_timer.cc
default_click.cc
delivery.cc
directory_names.cc
diskstream.cc
element_import_handler.cc
element_importer.cc
enums.cc
event_type_map.cc
export_channel.cc
export_channel_configuration.cc
export_file_io.cc
export_filename.cc
export_format_base.cc
export_format_manager.cc
export_format_specification.cc
export_formats.cc
export_handler.cc
export_preset.cc
export_processor.cc
export_profile_manager.cc
export_status.cc
export_timespan.cc
export_utilities.cc
file_source.cc
filename_extensions.cc
filesystem_paths.cc
filter.cc
find_session.cc
gain.cc
gdither.cc
globals.cc
import.cc
io.cc
io_processor.cc
internal_send.cc
internal_return.cc
interpolation.cc
jack_slave.cc
ladspa_plugin.cc
location.cc
location_importer.cc
meter.cc
midi_buffer.cc
midi_clock_slave.cc
midi_diskstream.cc
midi_model.cc
midi_patch_manager.cc
midi_playlist.cc
midi_port.cc
midi_region.cc
midi_ring_buffer.cc
midi_source.cc
midi_state_tracker.cc
midi_stretch.cc
midi_track.cc
mix.cc
mtc_slave.cc
mute_master.cc
named_selection.cc
onset_detector.cc
panner.cc
pcm_utils.cc
playlist.cc
playlist_factory.cc
plugin.cc
plugin_insert.cc
plugin_manager.cc
port.cc
port_insert.cc
port_set.cc
processor.cc
quantize.cc
rc_configuration.cc
recent_sessions.cc
region.cc
region_factory.cc
resampled_source.cc
return.cc
reverse.cc
route.cc
route_group.cc
send.cc
session.cc
session_butler.cc
session_click.cc
session_command.cc
session_configuration.cc
session_directory.cc
session_events.cc
session_export.cc
session_metadata.cc
session_midi.cc
session_process.cc
session_state.cc
session_state_utils.cc
session_time.cc
session_transport.cc
session_utils.cc
smf_source.cc
sndfile_helpers.cc
sndfileimportable.cc
sndfilesource.cc
source.cc
source_factory.cc
strip_silence.cc
svn_revision.cc
tape_file_matcher.cc
template_utils.cc
tempo.cc
tempo_map_importer.cc
ticker.cc
track.cc
transient_detector.cc
user_bundle.cc
utils.cc
version.cc
""")
arch_specific_objects = [ ]
vst_files = [ 'vst_plugin.cc', 'session_vst.cc' ]
lv2_files = [ 'lv2_plugin.cc', 'lv2_event_buffer.cc', 'uri_map.cc' ]
audiounit_files = [ 'audio_unit.cc' ]
coreaudio_files = [ 'coreaudiosource.cc', 'caimportable.cc' ]
extra_sources = [ ]
timefx_sources = [ ]
if ardour['VST']:
extra_sources += vst_files
ardour.Append(CCFLAGS="-DVST_SUPPORT", CPPPATH="#libs/fst")
if ardour['LV2']:
extra_sources += lv2_files
ardour.Append(CCFLAGS="-DHAVE_SLV2")
ardour.Append(CCFLAGS="-D_REENTRANT -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE")
ardour.Append(CXXFLAGS="-DDATA_DIR=\\\"" + os.path.join (final_prefix, 'share') + "\\\"")
ardour.Append(CXXFLAGS="-DMODULE_DIR=\\\"" + os.path.join (final_prefix, env['LIBDIR']) + "\\\"")
ardour.Append(CXXFLAGS="-DVAMP_DIR=\\\"" + os.path.join (final_prefix, env['LIBDIR'], 'ardour3', 'vamp') + "\\\"")
ardour.Append(CXXFLAGS="-DCONFIG_DIR=\\\"" + final_config_prefix + "\\\"")
ardour.Append(CXXFLAGS="-DLOCALEDIR=\\\"" + os.path.join (final_prefix, 'share', 'locale') + "\\\"")
ardour.Merge ([ libraries['jack'] ])
#
# See if JACK supports jack_client_open()
#
jack_test_source_file = """
#include <jack/jack.h>
int main(int argc, char **argv)
{
jack_client_open ("foo", 0, 0);
return 0;
}
"""
def CheckJackClientOpen(context):
context.Message('Checking for jack_client_open()...')
result = context.TryLink(jack_test_source_file, '.c')
context.Result(result)
return result
#
# See if JACK supports jack_recompute_total_latencies()
#
jack_test_source_file = """
#include <jack/jack.h>
int main(int argc, char **argv)
{
jack_recompute_total_latencies ((jack_client_t*) 0);
return 0;
}
"""
def CheckJackRecomputeLatencies(context):
context.Message('Checking for jack_recompute_total_latencies()...')
result = context.TryLink(jack_test_source_file, '.c')
context.Result(result)
return result
jack_video_frame_offset_test = """
#include <jack/transport.h>
int main(int argc, char** argv)
{
jack_position_t pos;
pos.valid & JackVideoFrameOffset;
return 0;
}
"""
def CheckJackVideoFrameOffset(context):
context.Message('Checking for JackVideoFrameOffset in jack_position_bits_t enum...')
result = context.TryLink(jack_video_frame_offset_test, '.c')
context.Result(result)
return result
#
# See if JACK supports jack_recompute_total_latency() (single port version)
#
jack_port_latency_test = """
#include <jack/jack.h>
int main(int argc, char **argv)
{
jack_recompute_total_latency ((jack_client_t*) 0, (jack_port_t*) 0);
return 0;
}
"""
def CheckJackRecomputeLatency(context):
context.Message('Checking for jack_recompute_total_latency()...')
result = context.TryLink(jack_port_latency_test, '.c')
context.Result(result)
return result
conf = Configure(ardour, custom_tests = {
'CheckJackClientOpen' : CheckJackClientOpen,
'CheckJackRecomputeLatencies' : CheckJackRecomputeLatencies,
'CheckJackRecomputeLatency' : CheckJackRecomputeLatency,
'CheckJackVideoFrameOffset' : CheckJackVideoFrameOffset
})
if conf.CheckJackClientOpen():
ardour.Append(CXXFLAGS="-DHAVE_JACK_CLIENT_OPEN")
if conf.CheckJackRecomputeLatencies():
ardour.Append(CXXFLAGS="-DHAVE_JACK_RECOMPUTE_LATENCIES")
if conf.CheckJackRecomputeLatency():
ardour.Append(CXXFLAGS="-DHAVE_JACK_RECOMPUTE_LATENCY")
if conf.CheckJackVideoFrameOffset():
ardour.Append(CXXFLAGS="-DHAVE_JACK_VIDEO_SUPPORT")
#
# Optional header files
#
if conf.CheckCHeader('wordexp.h'):
ardour.Append(CXXFLAGS="-DHAVE_WORDEXP")
if conf.CheckCHeader('sys/vfs.h'):
ardour.Append(CXXFLAGS="-DHAVE_SYS_VFS_H")
if conf.CheckCHeader('/System/Library/Frameworks/CoreMIDI.framework/Headers/CoreMIDI.h'):
ardour.Append(LINKFLAGS="-framework CoreMIDI")
if conf.CheckCHeader('/System/Library/Frameworks/AudioToolbox.framework/Headers/ExtendedAudioFile.h'):
ardour.Append(LINKFLAGS="-framework AudioToolbox")
if conf.CheckCHeader('/System/Library/Frameworks/CoreAudio.framework/Headers/CoreAudio.h'):
ardour.Append(CXXFLAGS="-DHAVE_WEAK_COREAUDIO")
if conf.CheckCHeader('/System/Library/Frameworks/AudioUnit.framework/Headers/AudioUnit.h') and ardour['AUDIOUNITS']:
ardour.Append(CXXFLAGS="-DHAVE_AUDIOUNITS")
ardour.Append(LINKFLAGS="-framework AudioUnit")
extra_sources += audiounit_files
if ardour['COREAUDIO']:
ardour.Append(CXXFLAGS="-DHAVE_COREAUDIO")
extra_sources += coreaudio_files
if env['CONFIG_ARCH'] == 'apple':
# this next line avoids issues with circular dependencies between libardour and libardour_cp.
# it is based on the (entirely reasonable) assumption that a system with CoreAudio is OS X
#
ardour.Append(LINKFLAGS='-undefined suppress -flat_namespace')
ardour = conf.Finish ()
ardour.Merge ([
libraries['core'],
libraries['fftw3'],
libraries['fftw3f'],
libraries['glib2'],
libraries['glibmm2'],
libraries['lrdf'],
libraries['midi++2'],
libraries['evoral'],
libraries['smf'],
libraries['pbd'],
libraries['raptor'],
libraries['samplerate'],
libraries['sigc2'],
libraries['sndfile'],
libraries['taglib'],
libraries['vamp'],
libraries['vamphost'],
libraries['xml']
])
if ardour['RUBBERBAND']:
ardour.Merge ([ libraries['rubberband']])
timefx_sources += [ 'rb_effect.cc' ]
else:
ardour.Merge ([ libraries['soundtouch'] ])
timefx_sources += [ 'st_stretch.cc', 'st_pitch.cc' ]
if ardour['LV2']:
ardour.Merge ([ libraries['slv2'] ])
if ardour['COREAUDIO'] or ardour['AUDIOUNITS']:
ardour.Merge ([ libraries['appleutility'] ])
def SharedAsmObjectEmitter(target, source, env):
for tgt in target:
tgt.attributes.shared = 1
return (target, source)
env['BUILDERS']['SharedAsmObject'] = Builder (action = '$CXX -c -fPIC $SOURCE -o $TARGET',
emitter = SharedAsmObjectEmitter,
suffix = '$SHOBJSUFFIX',
src_suffix = '.s',
single_source = 1)
#
# handle objects that should always be compiled with -msse in their own
# special environment, which is exactly like "ardour" but unconditionally
# includes -msse
#
always_sse_objects = []
sse_env = ardour.Clone()
sse_env.Append (CXXFLAGS="-msse")
if env['FPU_OPTIMIZATION']:
if env['DIST_TARGET'] == "i386":
arch_specific_objects = env.SharedAsmObject('sse_functions.os', 'sse_functions.s')
always_sse_objects += [ sse_env.SharedObject (source = 'sse_functions_xmm.cc') ]
if env['DIST_TARGET'] == "i686":
arch_specific_objects = env.SharedAsmObject('sse_functions.os', 'sse_functions.s')
always_sse_objects += [ sse_env.SharedObject (source = 'sse_functions_xmm.cc') ]
if env['DIST_TARGET'] == "x86_64":
arch_specific_objects = env.SharedAsmObject('sse_functions_64bit.os', 'sse_functions_64bit.s')
always_sse_objects += [ sse_env.SharedObject (source = 'sse_functions_xmm.cc') ]
libardour = ardour.SharedLibrary('ardour', ardour_files + always_sse_objects + timefx_sources + extra_sources + arch_specific_objects)
Default(libardour)
if env['NLS']:
i18n (ardour, ardour_files + vst_files + coreaudio_files + timefx_sources + audiounit_files, env)
env.Alias('install', env.Install(os.path.join(install_prefix, env['LIBDIR'], 'ardour3'), libardour))
env.Alias('version', ardour.VersionBuild(['version.cc', 'ardour/version.h'], []))
env.Alias('tarball', env.Distribute (env['DISTTREE'],
[ 'SConscript', 'i18n.h', 'gettext.h' ] +
[ 'sse_functions_xmm.cc', 'sse_functions.s', 'sse_functions_64bit.s' ] +
[ 'rb_effect.cc', 'st_stretch.cc', 'st_pitch.cc' ] +
ardour_files +
vst_files +
coreaudio_files +
audiounit_files +
lv2_files +
glob.glob('po/*.po') + glob.glob('ardour/*.h')))

View File

@ -1,10 +0,0 @@
Please do not email us directly - use the mailing list.
See http://cairographics.org/lists
Maintainers:
----------
Murray Cumming
Jonathon Jongsma
Based on code from Leonard Ritter.

View File

@ -1,481 +0,0 @@
GNU LIBRARY GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1991 Free Software Foundation, Inc.
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
[This is the first released version of the library GPL. It is
numbered 2 because it goes with version 2 of the ordinary GPL.]
Preamble
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
Licenses are intended to guarantee your freedom to share and change
free software--to make sure the software is free for all its users.
This license, the Library General Public License, applies to some
specially designated Free Software Foundation software, and to any
other libraries whose authors decide to use it. You can use it for
your libraries, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it
if you want it, that you can change the software or use pieces of it
in new free programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid
anyone to deny you these rights or to ask you to surrender the rights.
These restrictions translate to certain responsibilities for you if
you distribute copies of the library, or if you modify it.
For example, if you distribute copies of the library, whether gratis
or for a fee, you must give the recipients all the rights that we gave
you. You must make sure that they, too, receive or can get the source
code. If you link a program with the library, you must provide
complete object files to the recipients so that they can relink them
with the library, after making changes to the library and recompiling
it. And you must show them these terms so they know their rights.
Our method of protecting your rights has two steps: (1) copyright
the library, and (2) offer you this license which gives you legal
permission to copy, distribute and/or modify the library.
Also, for each distributor's protection, we want to make certain
that everyone understands that there is no warranty for this free
library. If the library is modified by someone else and passed on, we
want its recipients to know that what they have is not the original
version, so that any problems introduced by others will not reflect on
the original authors' reputations.
Finally, any free program is threatened constantly by software
patents. We wish to avoid the danger that companies distributing free
software will individually obtain patent licenses, thus in effect
transforming the program into proprietary software. To prevent this,
we have made it clear that any patent must be licensed for everyone's
free use or not licensed at all.
Most GNU software, including some libraries, is covered by the ordinary
GNU General Public License, which was designed for utility programs. This
license, the GNU Library General Public License, applies to certain
designated libraries. This license is quite different from the ordinary
one; be sure to read it in full, and don't assume that anything in it is
the same as in the ordinary license.
The reason we have a separate public license for some libraries is that
they blur the distinction we usually make between modifying or adding to a
program and simply using it. Linking a program with a library, without
changing the library, is in some sense simply using the library, and is
analogous to running a utility program or application program. However, in
a textual and legal sense, the linked executable is a combined work, a
derivative of the original library, and the ordinary General Public License
treats it as such.
Because of this blurred distinction, using the ordinary General
Public License for libraries did not effectively promote software
sharing, because most developers did not use the libraries. We
concluded that weaker conditions might promote sharing better.
However, unrestricted linking of non-free programs would deprive the
users of those programs of all benefit from the free status of the
libraries themselves. This Library General Public License is intended to
permit developers of non-free programs to use free libraries, while
preserving your freedom as a user of such programs to change the free
libraries that are incorporated in them. (We have not seen how to achieve
this as regards changes in header files, but we have achieved it as regards
changes in the actual functions of the Library.) The hope is that this
will lead to faster development of free libraries.
The precise terms and conditions for copying, distribution and
modification follow. Pay close attention to the difference between a
"work based on the library" and a "work that uses the library". The
former contains code derived from the library, while the latter only
works together with the library.
Note that it is possible for a library to be covered by the ordinary
General Public License rather than by this special one.
GNU LIBRARY GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License Agreement applies to any software library which
contains a notice placed by the copyright holder or other authorized
party saying it may be distributed under the terms of this Library
General Public License (also called "this License"). Each licensee is
addressed as "you".
A "library" means a collection of software functions and/or data
prepared so as to be conveniently linked with application programs
(which use some of those functions and data) to form executables.
The "Library", below, refers to any such software library or work
which has been distributed under these terms. A "work based on the
Library" means either the Library or any derivative work under
copyright law: that is to say, a work containing the Library or a
portion of it, either verbatim or with modifications and/or translated
straightforwardly into another language. (Hereinafter, translation is
included without limitation in the term "modification".)
"Source code" for a work means the preferred form of the work for
making modifications to it. For a library, complete source code means
all the source code for all modules it contains, plus any associated
interface definition files, plus the scripts used to control compilation
and installation of the library.
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running a program using the Library is not restricted, and output from
such a program is covered only if its contents constitute a work based
on the Library (independent of the use of the Library in a tool for
writing it). Whether that is true depends on what the Library does
and what the program that uses the Library does.
1. You may copy and distribute verbatim copies of the Library's
complete source code as you receive it, in any medium, provided that
you conspicuously and appropriately publish on each copy an
appropriate copyright notice and disclaimer of warranty; keep intact
all the notices that refer to this License and to the absence of any
warranty; and distribute a copy of this License along with the
Library.
You may charge a fee for the physical act of transferring a copy,
and you may at your option offer warranty protection in exchange for a
fee.
2. You may modify your copy or copies of the Library or any portion
of it, thus forming a work based on the Library, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) The modified work must itself be a software library.
b) You must cause the files modified to carry prominent notices
stating that you changed the files and the date of any change.
c) You must cause the whole of the work to be licensed at no
charge to all third parties under the terms of this License.
d) If a facility in the modified Library refers to a function or a
table of data to be supplied by an application program that uses
the facility, other than as an argument passed when the facility
is invoked, then you must make a good faith effort to ensure that,
in the event an application does not supply such function or
table, the facility still operates, and performs whatever part of
its purpose remains meaningful.
(For example, a function in a library to compute square roots has
a purpose that is entirely well-defined independent of the
application. Therefore, Subsection 2d requires that any
application-supplied function or table used by this function must
be optional: if the application does not supply it, the square
root function must still compute square roots.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Library,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Library, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
entire whole, and thus to each and every part regardless of who wrote
it.
Thus, it is not the intent of this section to claim rights or contest
your rights to work written entirely by you; rather, the intent is to
exercise the right to control the distribution of derivative or
collective works based on the Library.
In addition, mere aggregation of another work not based on the Library
with the Library (or with a work based on the Library) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may opt to apply the terms of the ordinary GNU General Public
License instead of this License to a given copy of the Library. To do
this, you must alter all the notices that refer to this License, so
that they refer to the ordinary GNU General Public License, version 2,
instead of to this License. (If a newer version than version 2 of the
ordinary GNU General Public License has appeared, then you can specify
that version instead if you wish.) Do not make any other change in
these notices.
Once this change is made in a given copy, it is irreversible for
that copy, so the ordinary GNU General Public License applies to all
subsequent copies and derivative works made from that copy.
This option is useful when you wish to copy part of the code of
the Library into a program that is not a library.
4. You may copy and distribute the Library (or a portion or
derivative of it, under Section 2) in object code or executable form
under the terms of Sections 1 and 2 above provided that you accompany
it with the complete corresponding machine-readable source code, which
must be distributed under the terms of Sections 1 and 2 above on a
medium customarily used for software interchange.
If distribution of object code is made by offering access to copy
from a designated place, then offering equivalent access to copy the
source code from the same place satisfies the requirement to
distribute the source code, even though third parties are not
compelled to copy the source along with the object code.
5. A program that contains no derivative of any portion of the
Library, but is designed to work with the Library by being compiled or
linked with it, is called a "work that uses the Library". Such a
work, in isolation, is not a derivative work of the Library, and
therefore falls outside the scope of this License.
However, linking a "work that uses the Library" with the Library
creates an executable that is a derivative of the Library (because it
contains portions of the Library), rather than a "work that uses the
library". The executable is therefore covered by this License.
Section 6 states terms for distribution of such executables.
When a "work that uses the Library" uses material from a header file
that is part of the Library, the object code for the work may be a
derivative work of the Library even though the source code is not.
Whether this is true is especially significant if the work can be
linked without the Library, or if the work is itself a library. The
threshold for this to be true is not precisely defined by law.
If such an object file uses only numerical parameters, data
structure layouts and accessors, and small macros and small inline
functions (ten lines or less in length), then the use of the object
file is unrestricted, regardless of whether it is legally a derivative
work. (Executables containing this object code plus portions of the
Library will still fall under Section 6.)
Otherwise, if the work is a derivative of the Library, you may
distribute the object code for the work under the terms of Section 6.
Any executables containing that work also fall under Section 6,
whether or not they are linked directly with the Library itself.
6. As an exception to the Sections above, you may also compile or
link a "work that uses the Library" with the Library to produce a
work containing portions of the Library, and distribute that work
under terms of your choice, provided that the terms permit
modification of the work for the customer's own use and reverse
engineering for debugging such modifications.
You must give prominent notice with each copy of the work that the
Library is used in it and that the Library and its use are covered by
this License. You must supply a copy of this License. If the work
during execution displays copyright notices, you must include the
copyright notice for the Library among them, as well as a reference
directing the user to the copy of this License. Also, you must do one
of these things:
a) Accompany the work with the complete corresponding
machine-readable source code for the Library including whatever
changes were used in the work (which must be distributed under
Sections 1 and 2 above); and, if the work is an executable linked
with the Library, with the complete machine-readable "work that
uses the Library", as object code and/or source code, so that the
user can modify the Library and then relink to produce a modified
executable containing the modified Library. (It is understood
that the user who changes the contents of definitions files in the
Library will not necessarily be able to recompile the application
to use the modified definitions.)
b) Accompany the work with a written offer, valid for at
least three years, to give the same user the materials
specified in Subsection 6a, above, for a charge no more
than the cost of performing this distribution.
c) If distribution of the work is made by offering access to copy
from a designated place, offer equivalent access to copy the above
specified materials from the same place.
d) Verify that the user has already received a copy of these
materials or that you have already sent this user a copy.
For an executable, the required form of the "work that uses the
Library" must include any data and utility programs needed for
reproducing the executable from it. However, as a special exception,
the source code distributed need not include anything that is normally
distributed (in either source or binary form) with the major
components (compiler, kernel, and so on) of the operating system on
which the executable runs, unless that component itself accompanies
the executable.
It may happen that this requirement contradicts the license
restrictions of other proprietary libraries that do not normally
accompany the operating system. Such a contradiction means you cannot
use both them and the Library together in an executable that you
distribute.
7. You may place library facilities that are a work based on the
Library side-by-side in a single library together with other library
facilities not covered by this License, and distribute such a combined
library, provided that the separate distribution of the work based on
the Library and of the other library facilities is otherwise
permitted, and provided that you do these two things:
a) Accompany the combined library with a copy of the same work
based on the Library, uncombined with any other library
facilities. This must be distributed under the terms of the
Sections above.
b) Give prominent notice with the combined library of the fact
that part of it is a work based on the Library, and explaining
where to find the accompanying uncombined form of the same work.
8. You may not copy, modify, sublicense, link with, or distribute
the Library except as expressly provided under this License. Any
attempt otherwise to copy, modify, sublicense, link with, or
distribute the Library is void, and will automatically terminate your
rights under this License. However, parties who have received copies,
or rights, from you under this License will not have their licenses
terminated so long as such parties remain in full compliance.
9. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Library or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Library (or any work based on the
Library), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Library or works based on it.
10. Each time you redistribute the Library (or any work based on the
Library), the recipient automatically receives a license from the
original licensor to copy, distribute, link with or modify the Library
subject to these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties to
this License.
11. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Library at all. For example, if a patent
license would not permit royalty-free redistribution of the Library by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Library.
If any portion of this section is held invalid or unenforceable under any
particular circumstance, the balance of the section is intended to apply,
and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system which is
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
to distribute software through any other system and a licensee cannot
impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
12. If the distribution and/or use of the Library is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Library under this License may add
an explicit geographical distribution limitation excluding those countries,
so that distribution is permitted only in or among countries not thus
excluded. In such case, this License incorporates the limitation as if
written in the body of this License.
13. The Free Software Foundation may publish revised and/or new
versions of the Library General Public License from time to time.
Such new versions will be similar in spirit to the present version,
but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Library
specifies a version number of this License which applies to it and
"any later version", you have the option of following the terms and
conditions either of that version or of any later version published by
the Free Software Foundation. If the Library does not specify a
license version number, you may choose any version ever published by
the Free Software Foundation.
14. If you wish to incorporate parts of the Library into other free
programs whose distribution conditions are incompatible with these,
write to the author to ask for permission. For software which is
copyrighted by the Free Software Foundation, write to the Free
Software Foundation; we sometimes make exceptions for this. Our
decision will be guided by the two goals of preserving the free status
of all derivatives of our free software and of promoting the sharing
and reuse of software generally.
NO WARRANTY
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Libraries
If you develop a new library, and you want it to be of the greatest
possible use to the public, we recommend making it free software that
everyone can redistribute and change. You can do so by permitting
redistribution under these terms (or, alternatively, under the terms of the
ordinary General Public License).
To apply these terms, attach the following notices to the library. It is
safest to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least the
"copyright" line and a pointer to where the full notice is found.
<one line to give the library's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
Also add information on how to contact you by electronic and paper mail.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the library, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the
library `Frob' (a library for tweaking knobs) written by James Random Hacker.
<signature of Ty Coon>, 1 April 1990
Ty Coon, President of Vice
That's all there is to it!

View File

@ -1,964 +0,0 @@
== 1.4.6 ==
2007-11-10 Jonathon Jongsma <jjongsma@gnome.org>
* docs/reference/Doxyfile.in: update doxygen config file since my version of
doxygen now complains that there are obsolete config keys
2007-11-10 Jonathon Jongsma <jjongsma@gnome.org>
* NEWS: update news for 1.4.6 release
* configure.in: bumped version
2007-08-13 Murray Cumming <murrayc@murrayc.com>
* cairomm/context.cc: Add #include <cairomm/quartz_surface.h>
to fix the build on MacOS. Thanks to Elias N (Bug #11972).
== 1.4.4 ==
2007-07-21 Murray Cumming <murrayc@murrayc.com>
* m4/reduced.m4: Added, containing CAIROMM_ARG_ENABLE_API_EXCEPTIONS().
* configure.in: Use CAIROMM_ARG_ENABLE_API_EXCEPTIONS() to add a
--enable-api-exceptions=yes/no option.
Used to generate a cairomm/cairommconfig.h config file, which
defines (or not) CAIROMM_EXCEPTIONS_ENABLED.
* cairomm/cairommconfig.h.in: Added, used to generate cairommconfig.h
* cairomm/private.cc:
* cairomm/private.h: Use ifdef to replace throw_exception() with an empty
implementation when exceptions are disabled.
This allows cairomm to be built when using CXXFLAGS=-fno-exceptions.
2007-07-14 Jonathon Jongsma <jjongsma@gnome.org>
* configure.in: post-release version number bump
=== 1.4.2 ===
2007-07-14 Jonathon Jongsma <jjongsma@gnome.org>
* NEWS: updated for 1.4.2 release
* configure.in: bumped version to 1.4.2
2007-06-14 Dave Beckett <dave@dajobe.org>
* configure.in: Update the GENERIC_LIBRARY_VERSION correctly
Was: 1:0:0 in 1.2.4
current: interfaces were added, increment to 2
revision: set to zero since current was incremented
age: increment since interfaces were added
Changed to: 2:0:1
2007-06-14 Murray Cumming <murrayc@murrayc.com>
* cairomm/refptr.h: Added RefPtr(object, refcount) constructor
for use in cast_*(), so that the casted RefPtr shares the same
refcount, avoiding an early deletion. I do not like making
this constructor public, but I do not see another way.
=== 1.4.0 ===
2007-07-12 Jonathon Jongsma <jjongsma@gnome.org>
* Makefile.am: add doc-publish target and make release-publish depend on
this. This automatically uploads the new API documentation on release
* docs/reference/Makefile.am: upload the html documentation and a tarball of
the documentation to the cairographics.org site
2007-07-12 Jonathon Jongsma <jjongsma@gnome.org>
* docs/reference/Makefile.am: hacky workaround to get distcheck to pass
2007-07-10 Jonathon Jongsma <jjongsma@gnome.org>
* NEWS: Update NEWS for release
* configure.in: bump version for release
2007-07-10 Jonathon Jongsma <jjongsma@gnome.org>
* cairomm/context.cc: add ability to use dynamic casting with the return
values from more functions, including:
Context::get_target()
Context::get_target() const
Context::get_source()
Context::get_source() const
Context::get_group_target()
Context::get_group_target() const
Context::pop_group()
* tests/test-context.cc: a few additional tests to verify the const /
non-const versions both work with dynamic casting.
2007-07-10 Jonathon Jongsma <jjongsma@gnome.org>
* docs/reference/cairomm.css: Improve the documentation style a little bit
to make it more readable
* docs/reference/Doxyfile.in: build the reference doc for the new
QuartzSurface class
2007-07-10 Jonathon Jongsma <jjongsma@gnome.org>
* cairomm/context.cc:
* cairomm/context.h: add alternate API for set_dash() which takes a
std::vector argument instead of the slightly unexpected std::valarray
argument
* tests/test-context.cc: test that both API work correctly and compile
correctly without any problems
2007-07-04 Jonathon Jongsma <jjongsma@gnome.org>
* tests/test-context.cc: add some tests for matrix transformations and
user-to-device coordinate mappings. The matrix transformation 'test' does
nothing more than call the functions to excercise them a bit, but it's
causing an unexpected exception to be triggered when calling
Context::set_matrix(). The odd thing is that exception.what() results in
'success' being printed. This requires further investigation
Also used BOOST_CHECK_EQUAL in most places instead of BOOST_CHECK to get
more meaningful failure messages.
2007-07-04 Jonathon Jongsma <jjongsma@gnome.org>
* cairomm/private.cc: add missing 'break;' on the I/O error case statement
2007-07-04 Jonathon Jongsma <jjongsma@gnome.org>
* cairomm/context.cc: when getting the source pattern of a Cairo::Context,
check which type of Pattern it is so that we create the correct C++ wrapper.
Without this, RefPtr<>::cast_dynamic() doesn't seem to work as we would
expect it to.
* tests/test-context.cc: improve the Context::get_source() /
Context::set_source () tests now that dynamic casting works correctly
2007-07-04 Jonathon Jongsma <jjongsma@gnome.org>
* examples/pdf-surface/main.cc:
* examples/png_file/main.cc:
* examples/ps-surface/main.cc:
* examples/svg-surface/main.cc:
* examples/text-rotate/text-rotate.cc:
* tests/test-context.cc: fix a bunch of minor compile errors when compiling
with -Werror
2007-07-04 Jonathon Jongsma <jjongsma@gnome.org>
* configure.in: enable extra compiler warnings and -Werror if the
CAIROMM_DEVEL environment variable is set to 'on'. This caught the
following mistake.
* cairomm/pattern.cc: forgot to return the ColorStop vector
2007-07-04 Jonathon Jongsma <jjongsma@gnome.org>
* cairomm/context.cc: fix a FIXME to match the style of
ScaledFont::glyph_extents since MSVC (and possibly other compilers) complain
when allocating an array on the stack and the size of the array is not a
compile-time constante
2007-04-16 Hugo Vincent <hugo.vincent@gmail.com>
* Added QuartzSurface for MacOS X (when cairo is built with Quartz support),
similar to the existing Win32Surface and XlibSurface. These allow use of
platform-specific features and data structures.
2007-03-23 Jonathon Jongsma <jjongsma@gnome.org>
* Makefile.am:
* autogen.sh:
* configure.in:
* m4/ax_boost_base.m4:
* m4/ax_boost_unit_test_framework.m4: Add some basic test infrastructure.
It's disabled by default, and must be explicitly enabled by passing
--enable-tests to configure (or by setting the CAIROMM_DEVEL environment
variable to "on"). It uses the boost unit test framework, but this should
not be required unless you've explicitly enabled tests. If tests are
enabled, you can easily run them with 'make check'
* tests/Makefile.am:
* tests/test-context.cc: added the beginning of a test for Cairo::Context.
Most of these tests are really very interesting. Basically what I'm trying
to do is a) test some basic behaviors, and b) excercise the functionality a
little bit. One of the tests currently fails due to a RefPtr::cast_dynamic
failure, so I have to see what's going on there.
2007-03-22 Murray Cumming <murrayc@murrayc@murrayc.com>
* cairomm/enums.h: Restored FORMAT_RGB16_565 and marked it as deprecated.
Note that CAIRO_FORMAT_RGB16_565 has not really been removed from cairo.
It has just moved from the enum to a #define in cairo-deprecated.
* cairomm/context.cc:
* cairomm/context.h: Made get_dash() const.
Renamed clip_extents() to get_clip_extents(), to match the other get_*_extents() methods
(in Context, if not in other classes), and made it const.
Made copy_clip_rectangle_list() const.
* cairomm/pattern.cc:
* cairomm/pattern.h: Make the RadialGradient::get_radial_circles(), LinearGradient::get_linear_points(),
and Gradient::get_color_stops() methods const.
Added a non-const method overload of get_surface().
Correc the get_color_stops() implementation to match the declaration.
2007-03-22 Jonathon Jongsma <jjongsma@gnome.org>
* cairomm/context.cc: Minor comment cleanups
* cairomm/pattern.cc: get the gradient stops by reference parameter instead
of returning by value. This saves an extra copy of the vector.
2007-03-21 Jonathon Jongsma <jjongsma@gnome.org>
* cairomm/context.cc:
* cairomm/context.h:
* cairomm/enums.h:
* cairomm/pattern.cc:
* cairomm/pattern.h:
* configure.in: Add initial support for new cairo 1.4.x API. It will
probably still need quite a bit of work, but I wanted to commit what I have
now so that it doesn't keep sitting in my working directory.
(Extra note from Murray:
This was:
- Pattern::create_rgba() - a new method overload with 4 args, including alpha.
- SurfacePattern::get_surface()
- Gradient::get_color_stops() (with a new ColorStop struct)
- LinearGradient::get_linear_points()
- RadialGradient::get_radial_circles()
- Context::clip_extents()
- Context::copy_clip_rectangle_list()
- Context::get_dash()
- SURFACE_TYPE_OS2 was added
- FORMAT_RGB16_565 was removed (but that is not allowed, so I'll fix that.)
2007-02-01 Jonathon Jongsma <jonathon.jongsma@gmail.com>
* configure.in: Fixes for building on Cygwin from
yselkowitz@users.sourceforge.net. Closes bug #9726
2007-01-28 Jonathon Jongsma <jonathon.jongsma@gmail.com>
* configure.in: bump rev to 1.2.5
2007-01-28 Jonathon Jongsma <jonathon.jongsma@gmail.com>
* docs/reference/Doxyfile.in: fixes building the cairomm documentation where
builddir != srcdir. Patch from yselkowitz@users.sourceforge.net for bug
#9727
1.2.4:
2007-01-17 Jonathon Jongsma <jonathon.jongsma@gmail.com>
* NEWS: updated news for 1.2.4 release
* configure.in: bumped version to 1.2.4
2006-09-27 Murray Cumming <murrayc@murrayc.com>
* cairomm/refptr.h: cast_static() and cast_dynamic():
Use the refcount_() accessor instead of the member variable,
to avoid compilation errors, as we already do in the
templated copy constructor.
1.2.2:
2006-08-21 Jonathon Jongsma <jonathon.jongsma@gmail.com>
* NEWS: update for 1.2.2
* configure.in: bump to next even number (1.2.2)
2006-08-21 Cedric Gustin <cedric.gustin@gmail.com>
* cairomm/win32_surface.cc: Explicitly cast Cairo::Format to
cairo_format_t.
2006-08-20 Jonathon Jongsma <jonathon.jongsma@gmail.com>
* Makefile.am: fix up the release announcement template to explain what
cairomm is at the top of the email before telling where to get it.
* configure.in: post-release bump (1.2.1)
1.2.0:
2006-08-20 Jonathon Jongsma <jonathon.jongsma@gmail.com>
* NEWS: Update information about new stuff in 1.2.0
* configure.in: bump the release version number to 1.2.0 and the shared
library version number to 1:0:0 since interfaces were changed and added and
we're now guaranteeing API/ABI stability
2006-08-20 Jonathon Jongsma <jonathon.jongsma@gmail.com>
* examples/pdf-surface/.cvsignore:
* examples/png_file/.cvsignore:
* examples/ps-surface/.cvsignore:
* examples/svg-surface/.cvsignore: added image files produced by the example
programs to .cvsignore
2006-08-19 Jonathon Jongsma <jonathon.jongsma@gmail.com>
* Makefile.am: get rid of the concept of a snapshot. It doesn't really make
that much sense for cairomm, honestly, since we're just a simple wrapper
library.
2006-08-19 Jonathon Jongsma <jonathon.jongsma@gmail.com>
* MSVC/examples/.cvsignore:
* MSVC/examples/Makefile.am:
* MSVC/examples/pdf-surface/.cvsignore:
* MSVC/examples/pdf-surface/Makefile.am:
* MSVC/examples/pdf-surface/pdf-surface.vcproj:
* MSVC/examples/png_file/.cvsignore:
* MSVC/examples/png_file/Makefile.am:
* MSVC/examples/png_file/png_file.vcproj:
* MSVC/examples/ps-surface/.cvsignore:
* MSVC/examples/ps-surface/Makefile.am:
* MSVC/examples/ps-surface/ps-surface.vcproj:
* MSVC/examples/svg-surface/.cvsignore:
* MSVC/examples/svg-surface/Makefile.am:
* MSVC/examples/svg-surface/svg-surface.vcproj:
* MSVC/examples/text-rotate/.cvsignore:
* MSVC/examples/text-rotate/Makefile.am:
* MSVC/examples/text-rotate/text-rotate.vcproj:
* MSVC/gendef/.cvsignore:
* MSVC/gendef/Makefile.am:
* MSVC/gendef/gendef.cc:
* MSVC/gendef/gendef.vcproj: added a bunch of MSVC / windows-specific things
that got missed last time.
2006-08-18 Jonathon Jongsma <jonathon.jongsma@gmail.com>
* cairomm/win32_surface.cc:
* cairomm/win32_surface.h: add some missing win32 API that I had overlooked:
cairo_win32_surface_get_dc() and cairo_win32_surface_create_with_dib(),
updated documentation for standard Win32Surface::create() function.
2006-08-18 Cedric Gustin <cedric.gustin@gmail.com>
* cairomm/context.cc: Define M_PI for MSVC.
* cairomm/scaledfont.cc: Allocate glyph_array as a synamic array
as MSVC does not like non-const arguments as array size.
* examples/pdf-surface/main.cc, examples/png_file/main.cc,
examples/ps-surface/main.cc, examples/svg-surface/main.cc,
examples/text-rotate/text-rotate.cc: Define M_PI for MSVC.
* configure.in, Makefile.am: Generate Makefiles in the MSVC
subdirectories.
* .cvsignore: Added Eclipse .project to the list of ignored files.
* MSVC/*: Added project and resource files for Visual Studio 2005.
2006-08-18 Jonathon Jongsma <jonathon.jongsma@gmail.com>
* cairomm/context.cc:
* cairomm/context.h: API CHANGE: some API was changed to maintain a closer
similarity to the underlying cairo API (while also attempting to avoid
confusion with the C++ 'new' keyword) in preparation for freezing the
cairomm API. Two functions are affected:
- Context::clear_path() -> Context::begin_new_path()
- Context::new_sub_path() -> Context::begin_new_sub_path()
* configure.in: bump the libtool version to indicate API change
2006-08-15 Jonathon Jongsma <jonathon.jongsma@gmail.com>
* cairomm/context.cc: remove another TODO. I looked at cairo_append_path,
and it just copies the data from the supplied path and appends that to the
current path -- it doesn't modify the passed in path -- so it can stay
const.
2006-08-15 Jonathon Jongsma <jonathon.jongsma@gmail.com>
* cairomm/context.h: remove a FIXME that was resolved on the mailing list
2006-07-11 Murray Cumming <murrayc@murrayc.com>
* cairomm/refptr.h: unref(): Only delete the refcount int when the refcount has
reached 0, instead of deleting it every time. Thanks valgrind.
2006-07-11 Murray Cumming <murrayc@murrayc.com>
* cairomm/refptr.h: From-C-object Constructor: Added documentation explaining
how/when to use it and when to do an extra reference(). This will help us,
though it should rarely be necessary for an application developer to understand
it.
Made pCppRefcount_ mutable, so that refcount_() can be a const method so that
the templated constructor compiles.
Added class documentation to explain why we even want to use this class.
2006-07-05 Jonathon Jongsma <jonathon.jongsma@gmail.com>
* cairomm/refptr.h: copy constructors: initialize the pCppRefcount_ member
variable, using a public refcount_() method when necessary to access a
different RefPtr<> specialization.
2006-07-11 Murray Cumming <murrayc@murrayc.com>
* cairomm/refptr.h: Use an int to reference-count the C++ object, and
only reference/unreference the object (and hence the underlying C object)
when receiving/deleting the C++ object. Without this, we never delete
the C++ object. Fixes bug #7442.
2006-07-09 Jonathon Jongsma <jonathon.jongsma@gmail.com>
* NEWS: add NEWS for 1.1.10 release
* configure.in: bump version to 1.1.12
2006-07-05 Jonathon Jongsma <jonathon.jongsma@gmail.com>
* Makefile.am: Ooops, I had accidentally removed dependency info for
release-publish target
2006-07-05 Murray Cumming <murrayc@murrayc.com>
* cairomm/context.h:
* cairomm/fontface.h:
* cairomm/pattern.h:
* cairomm/surface.cc:
* cairomm/surface.h:
* cairomm/xlib_surface.cc:
* cairomm/xlib_surface.h: Fix the generic text about reference-counted
objects, because we no longer use copy constructors for this. And some
pedantic white space changes.
2006-07-05 Murray Cumming <murrayc@murrayc.com>
* cairomm/scaledfont.cc:
* cairomm/scaledfont.h: create(): Make the font_matrix and ctm
parameters const (they are now const in the C API too). Maybe the font
parameter should be const, but maybe there is a reason that it is not
const in the C API. Pass FontOptions by const reference instead of
by value.
glyph_extents(): Pass the vector by const reference instead of by
value.
I would prefere to make all the extents() functions use return values
instead of output parameters, but I suppose this might be slightly
less efficient in some circumstances.
2006-07-05 Murray Cumming <murrayc@murrayc.com>
* cairomm/cairomm.h:
* cairomm/context.h:
* cairomm/path.h:
* cairomm/scaledfont.h:
* cairomm/surface.h:
* cairomm/win32_surface.h:
* cairomm/xlib_surface.h: Use @ instead of \ for doxygen
commands, to be consistent with gtkmm, which uses it because it is the
same as JavaDoc, with which some people are already familiar.
2006-07-04 Jonathon Jongsma <jonathon.jongsma@gmail.com>
* Makefile.am: add ability to do snapshot releases to the
cairographics.org/snapshots/ directory in addition to official releases
* configure.in: bumped the revision to 1.1.10 in preparation for a snapshot
release of the 1.2 API
* docs/reference/Makefile.am: fixed some distcheck errors
2006-07-04 Jonathon Jongsma <jonathon.jongsma@gmail.com>
* .cvsignore, cairomm/.cvsignore: ignore some autotools files and *.swp
files (from vim)
2006-07-04 Jonathon Jongsma <jonathon.jongsma@gmail.com>
* cairomm/scaledfont.cc, cairomm/scaledfont.h: wrap ScaledFont, including
new API for cairo 1.2
* cairomm/Makefile.am: add scaledfont.* to list of sources
2006-07-04 Jonathon Jongsma <jonathon.jongsma@gmail.com>
* cairomm/surface.h: Remove comments stating that PDF, PS, and SVG are
experimental surfaces. As of 1.2.0, these three surfaces are officially
supported by the cairo library.
2006-07-04 Jonathon Jongsma <jonathon.jongsma@gmail.com>
* cairomm/xlib_surface.h: add a bit more documentation for the new
XlibSurface API
2006-07-04 Jonathon Jongsma <jonathon.jongsma@gmail.com>
* cairomm/surface.cc, cairomm/surface.h: added SvgSurface::get_versions()
and SvgSurface::version_to_string() API. They're implemented as static
members right now.
2006-06-30 Jonathon Jongsma <jonathon.jongsma@gmail.com>
* configure.in: bumped cairomm version to 0.7.0 and bumped cairo requirement
to 1.2.0
2006-06-30 Jonathon Jongsma <jonathon.jongsma@gmail.com>
* cairomm/xlib_surface.cc, cairomm/xlib_surface.h: add new get_height() and
get_width() API to XlibSurface
2006-06-27 Jonathon Jongsma <jonathon.jongsma@gmail.com>
* cairomm/enums.h: Added enum types to support the new get_type() and SVG
Version API
* cairomm/fontface.cc, cairomm/fontface.h: add new get_type() API
* cairomm/pattern.cc, cairomm/pattern.h: add new get_type() API
* cairomm/surface.cc, cairomm/surface.h: add new get_type() API and
SvgSurface::restrict_to_version() API
2006-06-26 Jonathon Jongsma <jonathon.jongsma@gmail.com>
* cairomm/surface.cc, cairomm/surface.h: add new PsSurface and PdfSurface
API: set_size, dsc_comment, dsc_begin_setup, dsc_begin_page_setup
* cairomm/xlib_surface.cc, cairomm/xlib_surface.h: add new XlibSurface API:
get_display, get_drawable, get_screen, get_visual, get_depth
2006-06-26 Jonathon Jongsma <jonathon.jongsma@gmail.com>
* cairomm/surface.cc:
* cairomm/surface.h: Added new Surface and ImageSurface API from 1.1.x
snapshots
2006-06-23 Jonathon Jongsma <jonathon.jongsma@gmail.com>
* cairomm/context.cc:
* cairomm/context.h: added Context::new_sub_path() and new push/pop group
API.
2006-06-23 Jonathon Jongsma <jonathon.jongsma@gmail.com>
* cairomm/enums.h: fix stupid error from last commit
2006-06-23 Jonathon Jongsma <jonathon.jongsma@gmail.com>
* cairomm/enums.h: add new FORMAT_RGB16_565 format
2006-06-12 Jonathon Jongsma <jonathon.jongsma@gmail.com>
* configure.in: bump required cairo version to >= 1.1.7
* cairomm/surface.cc, cairomm/surface.h: update to new cairo API
cairo_surface_set_fallback_resolution
2006-05-10 Jonathon Jongsma <jonathon.jongsma@gmail.com>
* docs/reference/cairomm.css: minor documentation stylesheet fix
2006-05-08 Jonathon Jongsma <jonathon.jongsma@gmail.com>
* cairomm/context.h:
* cairomm/path.h: added some preliminary documentation explaining that the
caller is responsible for freeing Path objects returned from
Context::copy_path() and Context::copy_path_flat().
2006-05-08 Jonathon Jongsma <jonathon.jongsma@gmail.com>
* cairomm/cairomm.h: Add doxygen API introduction test here.
* docs/reference/Doxyfile.in:
* docs/reference/Makefile.am:
* docs/reference/cairomm-header.html:
* docs/reference/cairomm.css:
* docs/reference/introduction.h: fix up some documentation presentation
issues that turned up with newer versions of doxygen.
2006-05-08 Jonathon Jongsma <jonathon.jongsma@gmail.com>
* configure.in: remove check for perl since we're not using any of the
gmmproc stuff for cairomm
* docs/reference/Makefile.am: add documentation dependency on all of the
headers in the cairomm/ directory so that if a header changes the
documentation will be rebuilt.
2006-04-20 Murray Cumming <murrayc@murrayc.com>
* cairomm/context.cc:
* cairomm/context.h: mask(pattern) and mask(surface): Make the parameter
const, because I am fairly sure that the C function does not change it.
2006-04-06 Jonathon Jongsma <jonathon.jongsma@gmail.com>
* Makefile.am: Add a brief description of cairomm to the release
announcement template
2006-04-04 Jonathon Jongsma <jonathon.jongsma@gmail.com>
* docs/reference/Doxyfile.in:
* docs/reference/Makefile.am: A couple minor build fixes to make distcheck
happy
2006-04-04 Jonathon Jongsma <jonathon.jongsma@gmail.com>
* NEWS: add news for 0.6.0 release
* configure.in: bump version to 0.6.0
2006-04-03 Jonathon Jongsma <jonathon.jongsma@gmail.com>
* examples/text-rotate/text-rotate.cc: protect PNG functions with #ifdef in
case cairo wasn't compiled with PNG support
2006-03-31 Danilo Piazzalunga <danilopiazza@gmail.com>
* Makefile.am:
* docs/Makefile.am:
* docs/reference/Makefile.am: add convenience targets for cleaning and
rebuilding documentation (doc-clean and doc-rebuild).
2006-03-30 Danilo Piazzalunga <danilopiazza@gmail.com>
* configure.in: enable documentation even if doxygen and/or graphviz
are missing, so the docs will be installed when building a release.
* docs/reference/Makefile.am: don't remove html directory with `make clean`,
so that users of the tarball releases don't destroy the pre-built
documentation when running make clean. Change to maintainer-clean
2006-03-29 Jonathon Jongsma <jonathon.jongsma@gmail.com>
* configure.in: added tests for doxygen and graphviz which displays a
warning if the user has --enable-docs set but doesn't have doxygen or
graphviz installed.
2006-03-28 Danilo Piazzalunga <danilopiazza@gmail.com>
* cairomm/enums.h: Stop using CAIRO_EXTEND_PAD, as it only exists
in the 1.1.1 development branch.
2006-03-14 Jonathon Jongsma <jonathon.jongsma@gmail.com>
* configure.in:
* examples/Makefile.am:
* examples/text-rotate/.cvsignore:
* examples/text-rotate/Makefile.am:
* examples/text-rotate/text-rotate.cc: Added another basic example,
borrowed from a test-case in cairo. This one is just a simple example of
using text in cairomm
2006-03-14 Jonathon Jongsma <jonathon.jongsma@gmail.com>
* cairomm/fontface.h:
* cairomm/fontoptions.h:
* cairomm/path.h:
* cairomm/pattern.h: include <cairo.h> instead of <cairo/cairo.h> since it
didn't want to compile on windows without these
* cairomm/win32_surface.cc:
* cairomm/win32_surface.h: Move the include of cairo-win32.h from the
source file to the header since the declaration of create() needs the HDC
type definition.
With these changes, cairomm should compile the Win32Surface cleanly with
mingw on Microsoft Windows
2006-03-12 Danilo Piazzalunga <danilopiazza@gmail.com>
* autogen.sh: Allow overriding aclocal, automake, autoconf and libtoolize
using environment variables. Taken from cairo's autogen.sh.
2006-03-06 Jonathon Jongsma <jonathon.jongsma@gmail.com>
* cairomm/*.cc, *.h: add vim modelines to set proper indentation for
cairomm when using vim
2006-02-28 Jonathon Jongsma <jonathon.jongsma@gmail.com>
* cairomm/context.cc:
* cairomm/context.h:
* cairomm/enums.h:
* cairomm/fontoptions.cc:
* cairomm/fontoptions.h:
* cairomm/pattern.cc:
* cairomm/pattern.h:
* cairomm/surface.h: wrapped all of the enum types with cairomm
types within the Cairo namespace, so now (for example) the values for
Cairo::Format are something like Cairo::FORMAT_ARGB32 instead of the base
cairo types like CAIRO_FORMAT_ARGB_32.
* examples/png_file/main.cc: fixed example to work with the new namespaced
enum types
2006-02-27 Jonathon Jongsma <jonathon.jongsma@gmail.com>
* cairomm/exception.h:
* docs/reference/Doxyfile.in:
* docs/reference/Makefile.am: hide some of the private types and functions
from the Doxygen API reference documentation
2006-02-27 Stefan Kersten <steve@k-hornz.de>
* cairomm/surface.cc: fix an extra trailing parentheses in
GlitzSurface::create()
2006-02-22 Danilo Piazzalunga <danilopiazza@gmail.com>
* examples/README: Write some basic information about each example
2006-02-22 Jonathon Jongsma <jonathon.jongsma@gmail.com>
* docs/reference/Makefile.am: add target for publishing the API reference
to cairographics.org
2006-02-20 Danilo Piazzalunga <danilopiazza@gmail.com>
* Makefile.am: Include MAINTAINERS in distribution. Fixes Bug #5982
2006-02-17 Danilo Piazzalunga <danilopiazza@gmail.com>
* COPYING: Use the text from the Library GPL 2.0, which is the actual
license of cairomm. Fixes Bug #5934
2006-02-17 Danilo Piazzalunga <danilopiazza@gmail.com>
* autogen.sh:
* cairomm/cairomm.h:
* cairomm/context.cc:
* cairomm/context.h:
* cairomm/enums.h:
* cairomm/exception.cc:
* cairomm/exception.h:
* cairomm/fontface.cc:
* cairomm/fontface.h:
* cairomm/fontoptions.cc:
* cairomm/fontoptions.h:
* cairomm/path.cc:
* cairomm/path.h:
* cairomm/pattern.cc:
* cairomm/pattern.h:
* cairomm/private.cc:
* cairomm/private.h:
* cairomm/refptr.h:
* cairomm/surface.cc:
* cairomm/surface.h:
* cairomm/win32_surface.cc:
* cairomm/win32_surface.h:
* cairomm/xlib_surface.cc:
* cairomm/xlib_surface.h: Update FSF's postal address in GPL/LGPL
comment headings. Fixes Bug #5933
2006-02-17 Danilo Piazzalunga <danilopiazza@gmail.com>
* examples/*/.cvsignore: Bug #5927: added .cvsignore files to examples
directories
2006-02-17 Danilo Piazzalunga <danilopiazza@gmail.com>
* AUTHORS:
* INSTALL:
* README:
* cairomm/exception.cc:
* cairomm/exception.h: Remove lingering references to libxml++
2006-02-17 Danilo Piazzalunga <danilopiazza@gmail.com>
* configure.in: Bug #5929: Output files in docs subdir only if
--enable-docs is set. This prevents configure from generating files which
are not cleaned up when --disable-docs is used.
Use AC_CONFIG_FILES and AC_OUTPUT as recommended.
2006-02-16 Jonathon Jongsma <jonathon.jongsma@gmail.com>
* docs/reference/Doxyfile.in:
* docs/reference/cairomm.css: added some style customisations to the API
doc so that it fits in with the overall Cairo style a bit better
2006-02-16 Jonathon Jongsma <jonathon.jongsma@gmail.com>
* AUTHORS:
* MAINTAINERS: Add my information to the Maintainers and authors file
0.5.0:
2006-02-09 Jonathon Jongsma <jonathon.jongsma@gmail.com>
* docs/reference/Makefile.am: added a 'html' target to satisfy the dist
rule
2006-02-08 Jonathon Jongsma <jonathon.jongsma@gmail.com>
* cairomm/context.h: Added a lot of documentation for the Cairo::Context
class taken from the cairo docs. It's not complete, but the basics are all
covered now.
* docs/reference/Makefile.am: make use of existing Makefile variable
* NEWS: update for 0.5.0 release
2006-02-07 Jonathon Jongsma <jonathon.jongsma@gmail.com>
* Makefile.am: add docs/ subdir
* configure.in: added an --enable-docs switch to the configure script
(enabled by default), and added AC_OUTPUT directives for the documentation
Makefiles, etc.
* docs/.cvsignore:
* docs/Makefile.am:
* docs/reference/.cvsignore:
* docs/reference/Doxyfile.in:
* docs/reference/Makefile.am:
* docs/reference/introduction.h: Added infrastructure to build and install
the API documentation for cairomm (based on libxml++ makefiles).
2006-01-27 Jonathon Jongsma <jonathon.jongsma@gmail.com>
* .cvsignore:
* cairomm/.cvsignore: update .cvsignore files
* cairomm/surface.cc:
* cairomm/surface.h: change Surface::create function to take a
RefPtr<Surface> instead of Surface&
2006-01-27 Murray Cumming <murrayc@murrayc.com>
* examples/pdf-surface/Makefile.am: Remove extra LDADD that was breaking
the distcheck.
2006-01-26 Murray Cumming <murrayc@murrayc.com>
* examples/ps-surface/main.cc:
* examples/svg-surface/main.cc: Correct the text of the messages.
2006-01-25 Jonathon Jongsma <jonathon.jongsma@gmail.com>
* configure.in:
* examples/Makefile.am:
* examples/pdf-surface/:
* examples/ps-surface/:
* examples/svg-surface/: add examples for additional surfaces
2006-01-24 Murray Cumming <murrayc@murrayc.com>
* cairomm/Makefile.am:
* cairomm/surface.cc:
* cairomm/surface.h:
* cairomm/xlib_surface.cc:
* cairomm/xlib_surface.h:
* cairomm/win32_surface.cc:
* cairomm/win32_surface.h: Moved XlibSurface and
Win32Surface into separate files, not #included by
the main cairomm.h file, so that developers do not need to
suffer the Xlib.h or Windows namespace pollution unless they really need to.
For instance, this fixes the gtkmm 2.9 build which was broken by the
Display struct in Xlib.h.
2006-01-15 Jonathon Jongsma <jonathon.jongsma@gmail.com>
* cairomm/surface.cc:
* cairomm/surface.h: backwards-incompatible API change for the Surface
types. Cairo::Surface is now a base class for all of the other surface
types, and should not be used directly. New Surface types include
ImageSurface, XlibSurface, Win32Surface, PdfSurface, PsSurface,
SvgSurface, and GlitzSurface.
Modified Surface::write_to_png() and Surface::write_to_png_stream() so
that they throw exceptions like the other functions instead of returning a
cairo_status_t value.
Added API documentation for all Surface classes and all member functions
of the Surface class heirarchy.
* examples/png_file/Makefile.am: added generated PNG file to CLEANFILES
* examples/png_file/main.cc: updated the PNG example to use the new
ImageSurface class instead of using the Surface class directly.
* cairomm/*: Renamed the Cairo::Status type to Cairo::ErrorStatus since it
conflicts with a #define Status in XLib and is not used exposed in the API
anyway.
2006-01-06 Jonathon Jongsma <jonathon.jongsma@gmail.com>
* cairomm/surface.cc:
* cairomm/surface.h: Added implementation of write_to_png() and
write_to_png_stream() when PNG support is available in the base cairo
library
* examples/png_file/*: Added an example of creating an image surface and
saving it to a png image file
* examples/Makefile.am: add new example directory to SUBDIRS list
* configure.in: added output declaration for examples/png_file/Makefile
* examples/makefile.am_fragment: fix leftover libxml boilerplate
2006-01-03 Jonathon Jongsma <jonathon.jongsma@gmail.com>
* cairomm/surface.cc: added missing implementations for reference() and
unreference() functions
0.4.0:
2005-12-17 Murray Cumming <murrayc@murrayc.com>
* cairomm/Makefile.am:
* cairomm/refptr.h: Add shared
reference-counting smartpointer, using
the reference-count in the object. A copy
of the tried and tested glibmm RefPtr.
* cairomm/context.cc:
* cairomm/context.h:
* cairomm/fontface.cc:
* cairomm/fontface.h:
* cairomm/pattern.cc:
* cairomm/pattern.h:
* cairomm/surface.cc:
* cairomm/surface.h: Make constructors protected
and add public static create() methods that return
instances in RefPtr<>s. This allows reference-counted
objects to be clearly const or non-const, and allows
casting between related types.
2005-12-17 Murray Cumming <murrayc@murrayc.com>
* cairomm/context.cc:
* cairomm/context.h: Change set_dash(void) to
unset_dash(). Change rotate_deg() to
rotate_degrees(). Change identity_matrix() to
set_identity_matrix(). Change new_path() to
clear_path().
* cairomm/fontface.cc:
* cairomm/fontface.h: Comment-out
get/set_user_data(), because it seems useless.
0.3.0:
2005-12-08 Murray Cumming <murrayc@murrayc.com>
* cairomm/pattern.cc:
* cairomm/pattern.h: Create a hierarchy of pattern
classes, as suggested by the C documentation, because
not all functions are meaningful for all pattern types.
2005-12-07 Murray Cumming <murrayc@murrayc.com>
* cairomm/context.cc:
* cairomm/context.h: font_extents(), stroke_extents(),
glyph_extents(), fill_extents(): Add get_ prefix and
make them const.
2005-12-07 Murray Cumming <murrayc@murrayc.com>
* cairomm/context.cc:
* cairomm/context.h: Add typedef for Matrix, though we
probably want to derive a class with a C++-like matrix
API, with operator overloading.
2005-12-07 Murray Cumming <murrayc@murrayc.com>
* cairomm/exception.cc:
* cairomm/exception.h: Rename to logic_error, because
the cairo documentation says that most of them are
programming errors, not runtime errors. Derive from
std::logic_error because of this.
* cairomm/private.cc:
* cairomm/private.h: Throw std::bad_alloc for memory
errors, and std::io_base::failure for read/write runtime
errors, as suggested by the cairo language-binding
documentation.
2005-12-07 Murray Cumming <murrayc@murrayc.com>
* cairomm/context.cc:
* cairomm/fontoptions.cc:
* cairomm/surface.cc: Check for errors in
constructors, as per the error-handling advice in the
language bindings section of the cairo documentation.
2005-12-07 Murray Cumming <murrayc@murrayc.com>
* cairomm/context.cc:
* cairomm/context.h: Change mask_surface() to
mask() and set_source_surface() to set_source(),
as per the method overloading advice in the
language bindings section of the cairo documentation.
0.2.0:
2005-12-02 Murray Cumming <murrayc@murrayc.com>
* cairomm/cairomm.h: Put sensible stuff in here,
instead of my copy/paste stuff from libxml++.
* cairomm/context.cc:
* cairomm/context.h:
* cairomm/enums.h:
* cairomm/exception.cc:
* cairomm/exception.h:
* cairomm/fontface.cc:
* cairomm/fontface.h:
* cairomm/fontoptions.cc:
* cairomm/fontoptions.h:
* cairomm/path.cc:
* cairomm/path.h:
* cairomm/pattern.cc:
* cairomm/pattern.h:
* cairomm/private.cc:
* cairomm/private.h:
* cairomm/surface.cc:
* cairomm/surface.h: Add LGPL comment headings.

View File

@ -1,9 +0,0 @@
Simple install procedure
========================
% tar zxvf cairomm-<version>.tar.gz # unpack the sources
% cd cairomm-<version> # change to toplevel directory
% ./configure # run the `configure' script
% make # build cairomm
% make install # install cairomm

View File

@ -1,8 +0,0 @@
Please use the mailing list (cairo@cairographics.org) rather than emailing
developers directly.
Murray Cumming
Email: murrayc@murrayc.com
Jonathon Jongsma
Email: jonathon.jongsma@gmail.com

View File

@ -1,3 +0,0 @@
SUBDIRS = gendef cairomm examples
EXTRA_DIST = blank.cpp cairomm.sln README

View File

@ -1,498 +0,0 @@
# Makefile.in generated by automake 1.9.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
subdir = MSVC
DIST_COMMON = README $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/ax_boost_base.m4 \
$(top_srcdir)/m4/ax_boost_unit_test_framework.m4 \
$(top_srcdir)/m4/reduced.m4 $(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/cairomm/cairommconfig.h
CONFIG_CLEAN_FILES =
SOURCES =
DIST_SOURCES =
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
html-recursive info-recursive install-data-recursive \
install-exec-recursive install-info-recursive \
install-recursive installcheck-recursive installdirs-recursive \
pdf-recursive ps-recursive uninstall-info-recursive \
uninstall-recursive
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AR = @AR@
AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AUTOTESTS_FALSE = @AUTOTESTS_FALSE@
AUTOTESTS_TRUE = @AUTOTESTS_TRUE@
AWK = @AWK@
BOOST_CPPFLAGS = @BOOST_CPPFLAGS@
BOOST_LDFLAGS = @BOOST_LDFLAGS@
BOOST_UNIT_TEST_FRAMEWORK_LIB = @BOOST_UNIT_TEST_FRAMEWORK_LIB@
CAIROMM_CFLAGS = @CAIROMM_CFLAGS@
CAIROMM_LIBS = @CAIROMM_LIBS@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
DOCS_SUBDIR = @DOCS_SUBDIR@
DOT = @DOT@
DOXYGEN = @DOXYGEN@
ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
F77 = @F77@
FFLAGS = @FFLAGS@
GENERIC_LIBRARY_VERSION = @GENERIC_LIBRARY_VERSION@
GENERIC_MAJOR_VERSION = @GENERIC_MAJOR_VERSION@
GENERIC_MICRO_VERSION = @GENERIC_MICRO_VERSION@
GENERIC_MINOR_VERSION = @GENERIC_MINOR_VERSION@
GENERIC_VERSION = @GENERIC_VERSION@
GREP = @GREP@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OS_WIN32_FALSE = @OS_WIN32_FALSE@
OS_WIN32_TRUE = @OS_WIN32_TRUE@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
PLATFORM_WIN32_FALSE = @PLATFORM_WIN32_FALSE@
PLATFORM_WIN32_TRUE = @PLATFORM_WIN32_TRUE@
RANLIB = @RANLIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_F77 = @ac_ct_F77@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
SUBDIRS = gendef cairomm examples
EXTRA_DIST = blank.cpp cairomm.sln README
all: all-recursive
.SUFFIXES:
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu MSVC/Makefile'; \
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu MSVC/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
distclean-libtool:
-rm -f libtool
uninstall-info-am:
# This directory's subdirectories are mostly independent; you can cd
# into them and run `make' without going through this Makefile.
# To change the values of `make' variables: instead of editing Makefiles,
# (1) if the variable is set in `config.status', edit `config.status'
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
@failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
*k*) failcom='fail=yes';; \
esac; \
done; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
list='$(SUBDIRS)'; for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done; \
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
mostlyclean-recursive clean-recursive distclean-recursive \
maintainer-clean-recursive:
@failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
*k*) failcom='fail=yes';; \
esac; \
done; \
dot_seen=no; \
case "$@" in \
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
*) list='$(SUBDIRS)' ;; \
esac; \
rev=''; for subdir in $$list; do \
if test "$$subdir" = "."; then :; else \
rev="$$subdir $$rev"; \
fi; \
done; \
rev="$$rev ."; \
target=`echo $@ | sed s/-recursive//`; \
for subdir in $$rev; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done && test -z "$$fail"
tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
done
ctags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
done
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
empty_fix=.; \
else \
include_option=--include; \
empty_fix=; \
fi; \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test ! -f $$subdir/TAGS || \
tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique; \
fi
ctags: CTAGS
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& cd $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \
case $$file in \
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
esac; \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \
$(mkdir_p) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
if test -d $$d/$$file; then \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -d "$(distdir)/$$subdir" \
|| $(mkdir_p) "$(distdir)/$$subdir" \
|| exit 1; \
distdir=`$(am__cd) $(distdir) && pwd`; \
top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
(cd $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$$top_distdir" \
distdir="$$distdir/$$subdir" \
distdir) \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-recursive
all-am: Makefile
installdirs: installdirs-recursive
installdirs-am:
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
uninstall: uninstall-recursive
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-recursive
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-recursive
clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-recursive
-rm -f Makefile
distclean-am: clean-am distclean-generic distclean-libtool \
distclean-tags
dvi: dvi-recursive
dvi-am:
html: html-recursive
info: info-recursive
info-am:
install-data-am:
install-exec-am:
install-info: install-info-recursive
install-man:
installcheck-am:
maintainer-clean: maintainer-clean-recursive
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-recursive
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
pdf: pdf-recursive
pdf-am:
ps: ps-recursive
ps-am:
uninstall-am: uninstall-info-am
uninstall-info: uninstall-info-recursive
.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \
clean clean-generic clean-libtool clean-recursive ctags \
ctags-recursive distclean distclean-generic distclean-libtool \
distclean-recursive distclean-tags distdir dvi dvi-am html \
html-am info info-am install install-am install-data \
install-data-am install-exec install-exec-am install-info \
install-info-am install-man install-strip installcheck \
installcheck-am installdirs installdirs-am maintainer-clean \
maintainer-clean-generic maintainer-clean-recursive \
mostlyclean mostlyclean-generic mostlyclean-libtool \
mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \
uninstall uninstall-am uninstall-info-am
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@ -1,12 +0,0 @@
Building cairomm-1.0 with Visual Studio .NET 2005
* You will need Visual Studio .NET 2005 (MSVC 8.0). Earlier versions of the compiler, including 6.0 and 7.0 might also work but have not been tested.
* Install the latest Win32 GTK+ Development Environment from the Glade for Windows project, http://gladewin32.sourceforge.net.
* Add libsigc++ to the include and lib paths in Visual Studio.
* Load the cairomm/MSVC3/cairomm.sln solution.
* Build the entire solution.
* Run the tests.
Cedric Gustin
08/18/2006

View File

@ -1,11 +0,0 @@
// This file may very well be the most annoying workaround of all time.
// It is included here to simplify working with glibmm using the
// MSVC IDE.
//
// This file is included in all of the MSVC projects to force the
// IDE to display the C/C++ property pages for editing. Apparently,
// the MSVC IDE does not recognize .cc files as C++ source code, even
// though the compiler does!
//
// Tim Shead, tshead@k-3d.com
// 10/12/2004

View File

@ -1,73 +0,0 @@
Microsoft Visual Studio Solution File, Format Version 9.00
# Visual C++ Express 2005
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "gendef", "gendef\gendef.vcproj", "{07324745-C9BE-4D65-B08A-9C88188C0C28}"
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "cairomm-1.0", "cairomm\cairomm.vcproj", "{58B2B53C-C4FF-47FD-817B-095E45B7F7D4}"
ProjectSection(ProjectDependencies) = postProject
{07324745-C9BE-4D65-B08A-9C88188C0C28} = {07324745-C9BE-4D65-B08A-9C88188C0C28}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "examples_pdf-surface", "examples\pdf-surface\pdf-surface.vcproj", "{129ECC08-6D30-4884-B824-4AF96EF0A45C}"
ProjectSection(ProjectDependencies) = postProject
{58B2B53C-C4FF-47FD-817B-095E45B7F7D4} = {58B2B53C-C4FF-47FD-817B-095E45B7F7D4}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "examples_png_file", "examples\png_file\png_file.vcproj", "{45EEED29-0231-45C6-9682-CAB2E042C51E}"
ProjectSection(ProjectDependencies) = postProject
{58B2B53C-C4FF-47FD-817B-095E45B7F7D4} = {58B2B53C-C4FF-47FD-817B-095E45B7F7D4}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "examples_ps-surface", "examples\ps-surface\ps-surface.vcproj", "{CAE46373-7375-4607-AAB7-0EBA8F0E5B55}"
ProjectSection(ProjectDependencies) = postProject
{58B2B53C-C4FF-47FD-817B-095E45B7F7D4} = {58B2B53C-C4FF-47FD-817B-095E45B7F7D4}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "examples_svg-surface", "examples\svg-surface\svg-surface.vcproj", "{BCA44D2B-1832-41F5-9EE9-FE1F709EE584}"
ProjectSection(ProjectDependencies) = postProject
{58B2B53C-C4FF-47FD-817B-095E45B7F7D4} = {58B2B53C-C4FF-47FD-817B-095E45B7F7D4}
EndProjectSection
EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "examples_text-rotate", "examples\text-rotate\text-rotate.vcproj", "{F4D455E4-464D-49CC-A120-DB9B8AE0207E}"
ProjectSection(ProjectDependencies) = postProject
{58B2B53C-C4FF-47FD-817B-095E45B7F7D4} = {58B2B53C-C4FF-47FD-817B-095E45B7F7D4}
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32
Release|Win32 = Release|Win32
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{07324745-C9BE-4D65-B08A-9C88188C0C28}.Debug|Win32.ActiveCfg = Debug|Win32
{07324745-C9BE-4D65-B08A-9C88188C0C28}.Debug|Win32.Build.0 = Debug|Win32
{07324745-C9BE-4D65-B08A-9C88188C0C28}.Release|Win32.ActiveCfg = Release|Win32
{07324745-C9BE-4D65-B08A-9C88188C0C28}.Release|Win32.Build.0 = Release|Win32
{58B2B53C-C4FF-47FD-817B-095E45B7F7D4}.Debug|Win32.ActiveCfg = Debug|Win32
{58B2B53C-C4FF-47FD-817B-095E45B7F7D4}.Debug|Win32.Build.0 = Debug|Win32
{58B2B53C-C4FF-47FD-817B-095E45B7F7D4}.Release|Win32.ActiveCfg = Release|Win32
{58B2B53C-C4FF-47FD-817B-095E45B7F7D4}.Release|Win32.Build.0 = Release|Win32
{129ECC08-6D30-4884-B824-4AF96EF0A45C}.Debug|Win32.ActiveCfg = Debug|Win32
{129ECC08-6D30-4884-B824-4AF96EF0A45C}.Debug|Win32.Build.0 = Debug|Win32
{129ECC08-6D30-4884-B824-4AF96EF0A45C}.Release|Win32.ActiveCfg = Release|Win32
{129ECC08-6D30-4884-B824-4AF96EF0A45C}.Release|Win32.Build.0 = Release|Win32
{45EEED29-0231-45C6-9682-CAB2E042C51E}.Debug|Win32.ActiveCfg = Debug|Win32
{45EEED29-0231-45C6-9682-CAB2E042C51E}.Debug|Win32.Build.0 = Debug|Win32
{45EEED29-0231-45C6-9682-CAB2E042C51E}.Release|Win32.ActiveCfg = Release|Win32
{45EEED29-0231-45C6-9682-CAB2E042C51E}.Release|Win32.Build.0 = Release|Win32
{CAE46373-7375-4607-AAB7-0EBA8F0E5B55}.Debug|Win32.ActiveCfg = Debug|Win32
{CAE46373-7375-4607-AAB7-0EBA8F0E5B55}.Debug|Win32.Build.0 = Debug|Win32
{CAE46373-7375-4607-AAB7-0EBA8F0E5B55}.Release|Win32.ActiveCfg = Release|Win32
{CAE46373-7375-4607-AAB7-0EBA8F0E5B55}.Release|Win32.Build.0 = Release|Win32
{BCA44D2B-1832-41F5-9EE9-FE1F709EE584}.Debug|Win32.ActiveCfg = Debug|Win32
{BCA44D2B-1832-41F5-9EE9-FE1F709EE584}.Debug|Win32.Build.0 = Debug|Win32
{BCA44D2B-1832-41F5-9EE9-FE1F709EE584}.Release|Win32.ActiveCfg = Release|Win32
{BCA44D2B-1832-41F5-9EE9-FE1F709EE584}.Release|Win32.Build.0 = Release|Win32
{F4D455E4-464D-49CC-A120-DB9B8AE0207E}.Debug|Win32.ActiveCfg = Debug|Win32
{F4D455E4-464D-49CC-A120-DB9B8AE0207E}.Debug|Win32.Build.0 = Debug|Win32
{F4D455E4-464D-49CC-A120-DB9B8AE0207E}.Release|Win32.ActiveCfg = Release|Win32
{F4D455E4-464D-49CC-A120-DB9B8AE0207E}.Release|Win32.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
EndGlobal

View File

@ -1,5 +0,0 @@
BUILT_SOURCES = cairomm.rc
MAINTAINERCLEANFILES = $(built_sources)
EXTRA_DIST = cairomm.vcproj cairomm.rc

View File

@ -1,350 +0,0 @@
# Makefile.in generated by automake 1.9.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ../..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
subdir = MSVC/cairomm
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
$(srcdir)/cairomm.rc.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/ax_boost_base.m4 \
$(top_srcdir)/m4/ax_boost_unit_test_framework.m4 \
$(top_srcdir)/m4/reduced.m4 $(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/cairomm/cairommconfig.h
CONFIG_CLEAN_FILES = cairomm.rc
SOURCES =
DIST_SOURCES =
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AR = @AR@
AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AUTOTESTS_FALSE = @AUTOTESTS_FALSE@
AUTOTESTS_TRUE = @AUTOTESTS_TRUE@
AWK = @AWK@
BOOST_CPPFLAGS = @BOOST_CPPFLAGS@
BOOST_LDFLAGS = @BOOST_LDFLAGS@
BOOST_UNIT_TEST_FRAMEWORK_LIB = @BOOST_UNIT_TEST_FRAMEWORK_LIB@
CAIROMM_CFLAGS = @CAIROMM_CFLAGS@
CAIROMM_LIBS = @CAIROMM_LIBS@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
DOCS_SUBDIR = @DOCS_SUBDIR@
DOT = @DOT@
DOXYGEN = @DOXYGEN@
ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
F77 = @F77@
FFLAGS = @FFLAGS@
GENERIC_LIBRARY_VERSION = @GENERIC_LIBRARY_VERSION@
GENERIC_MAJOR_VERSION = @GENERIC_MAJOR_VERSION@
GENERIC_MICRO_VERSION = @GENERIC_MICRO_VERSION@
GENERIC_MINOR_VERSION = @GENERIC_MINOR_VERSION@
GENERIC_VERSION = @GENERIC_VERSION@
GREP = @GREP@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OS_WIN32_FALSE = @OS_WIN32_FALSE@
OS_WIN32_TRUE = @OS_WIN32_TRUE@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
PLATFORM_WIN32_FALSE = @PLATFORM_WIN32_FALSE@
PLATFORM_WIN32_TRUE = @PLATFORM_WIN32_TRUE@
RANLIB = @RANLIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_F77 = @ac_ct_F77@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
BUILT_SOURCES = cairomm.rc
MAINTAINERCLEANFILES = $(built_sources)
EXTRA_DIST = cairomm.vcproj cairomm.rc
all: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) all-am
.SUFFIXES:
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu MSVC/cairomm/Makefile'; \
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu MSVC/cairomm/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
cairomm.rc: $(top_builddir)/config.status $(srcdir)/cairomm.rc.in
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
distclean-libtool:
-rm -f libtool
uninstall-info-am:
tags: TAGS
TAGS:
ctags: CTAGS
CTAGS:
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \
case $$file in \
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
esac; \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \
$(mkdir_p) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
if test -d $$d/$$file; then \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
check-am: all-am
check: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) check-am
all-am: Makefile
installdirs:
install: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
-test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
-test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
clean: clean-am
clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-am
-rm -f Makefile
distclean-am: clean-am distclean-generic distclean-libtool
dvi: dvi-am
dvi-am:
html: html-am
info: info-am
info-am:
install-data-am:
install-exec-am:
install-info: install-info-am
install-man:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-info-am
.PHONY: all all-am check check-am clean clean-generic clean-libtool \
distclean distclean-generic distclean-libtool distdir dvi \
dvi-am html html-am info info-am install install-am \
install-data install-data-am install-exec install-exec-am \
install-info install-info-am install-man install-strip \
installcheck installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-generic \
mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
uninstall-info-am
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@ -1,72 +0,0 @@
#include "resource.h"
#define APSTUDIO_READONLY_SYMBOLS
#include "afxres.h"
#undef APSTUDIO_READONLY_SYMBOLS
#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
1 TEXTINCLUDE
BEGIN
"resource.h\0"
END
2 TEXTINCLUDE
BEGIN
"#include ""afxres.h""\r\n"
"\0"
END
3 TEXTINCLUDE
BEGIN
"\r\n"
"\0"
END
#endif // APSTUDIO_INVOKED
VS_VERSION_INFO VERSIONINFO
FILEVERSION 1,4,6,1
PRODUCTVERSION 1,4,6,1
FILEFLAGSMASK 0x17L
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
FILEFLAGS 0x0L
#endif
FILEOS 0x4L
FILETYPE 0x2L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904b0"
BEGIN
VALUE "CompanyName", "The cairomm development team (see AUTHORS)"
VALUE "FileDescription", "The official C++ wrapper for cairo"
VALUE "FileVersion", "1.4.6"
VALUE "LegalCopyright", "Distribution is under the LGPL (see COPYING)"
VALUE "OriginalFilename", "cairomm-1.0"
VALUE "ProductName", "cairomm"
VALUE "ProductVersion", "1.4.6"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1200
END
END
#endif // English (U.S.) resources
#ifndef APSTUDIO_INVOKED
#endif // not APSTUDIO_INVOKED

View File

@ -1,72 +0,0 @@
#include "resource.h"
#define APSTUDIO_READONLY_SYMBOLS
#include "afxres.h"
#undef APSTUDIO_READONLY_SYMBOLS
#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
1 TEXTINCLUDE
BEGIN
"resource.h\0"
END
2 TEXTINCLUDE
BEGIN
"#include ""afxres.h""\r\n"
"\0"
END
3 TEXTINCLUDE
BEGIN
"\r\n"
"\0"
END
#endif // APSTUDIO_INVOKED
VS_VERSION_INFO VERSIONINFO
FILEVERSION @GENERIC_MAJOR_VERSION@,@GENERIC_MINOR_VERSION@,@GENERIC_MICRO_VERSION@,1
PRODUCTVERSION @GENERIC_MAJOR_VERSION@,@GENERIC_MINOR_VERSION@,@GENERIC_MICRO_VERSION@,1
FILEFLAGSMASK 0x17L
#ifdef _DEBUG
FILEFLAGS 0x1L
#else
FILEFLAGS 0x0L
#endif
FILEOS 0x4L
FILETYPE 0x2L
FILESUBTYPE 0x0L
BEGIN
BLOCK "StringFileInfo"
BEGIN
BLOCK "040904b0"
BEGIN
VALUE "CompanyName", "The cairomm development team (see AUTHORS)"
VALUE "FileDescription", "The official C++ wrapper for cairo"
VALUE "FileVersion", "@VERSION@"
VALUE "LegalCopyright", "Distribution is under the LGPL (see COPYING)"
VALUE "OriginalFilename", "cairomm-1.0"
VALUE "ProductName", "cairomm"
VALUE "ProductVersion", "@VERSION@"
END
END
BLOCK "VarFileInfo"
BEGIN
VALUE "Translation", 0x409, 1200
END
END
#endif // English (U.S.) resources
#ifndef APSTUDIO_INVOKED
#endif // not APSTUDIO_INVOKED

View File

@ -1,310 +0,0 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="8.00"
Name="cairomm-1.0"
ProjectGUID="{58B2B53C-C4FF-47FD-817B-095E45B7F7D4}"
RootNamespace="glibmm"
Keyword="Win32Proj"
>
<Platforms>
<Platform
Name="Win32"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory="Debug"
IntermediateDirectory="Debug"
ConfigurationType="2"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories=".;../.."
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;GLIBMM_BUILD"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="4"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
Description="Generate cairomm def file"
CommandLine="$(SolutionDir)gendef\$(ConfigurationName)\gendef $(ConfigurationName)\$(InputName).def $(TargetFileName) $(IntDir)\*.obj"
ExcludedFromBuild="false"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="cairo.lib"
OutputFile="$(OutDir)/$(ProjectName)d.dll"
GenerateManifest="true"
ModuleDefinitionFile="$(ConfigurationName)\$(InputName).def"
GenerateDebugInformation="true"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="Release"
IntermediateDirectory="Release"
ConfigurationType="2"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories=".;../.."
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;GLIBMM_BUILD"
RuntimeLibrary="2"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="false"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
Description="Generate cairomm def file"
CommandLine="$(SolutionDir)gendef\$(ConfigurationName)\gendef $(ConfigurationName)\$(InputName).def $(TargetFileName) $(IntDir)\*.obj"
ExcludedFromBuild="false"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="cairo.lib"
GenerateManifest="true"
ModuleDefinitionFile="$(ConfigurationName)\$(InputName).def"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
<File
RelativePath="..\blank.cpp"
>
</File>
<File
RelativePath="..\..\cairomm\context.cc"
>
</File>
<File
RelativePath="..\..\cairomm\exception.cc"
>
</File>
<File
RelativePath="..\..\cairomm\fontface.cc"
>
</File>
<File
RelativePath="..\..\cairomm\fontoptions.cc"
>
</File>
<File
RelativePath="..\..\cairomm\path.cc"
>
</File>
<File
RelativePath="..\..\cairomm\pattern.cc"
>
</File>
<File
RelativePath="..\..\cairomm\private.cc"
>
</File>
<File
RelativePath="..\..\cairomm\scaledfont.cc"
>
</File>
<File
RelativePath="..\..\cairomm\surface.cc"
>
</File>
<File
RelativePath="..\..\cairomm\win32_surface.cc"
>
</File>
<File
RelativePath="..\..\cairomm\xlib_surface.cc"
>
</File>
</Filter>
<Filter
Name="Header Files"
Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
>
<File
RelativePath="..\..\cairomm\cairomm.h"
>
</File>
<File
RelativePath="..\..\cairomm\context.h"
>
</File>
<File
RelativePath="..\..\cairomm\enums.h"
>
</File>
<File
RelativePath="..\..\cairomm\exception.h"
>
</File>
<File
RelativePath="..\..\cairomm\fontface.h"
>
</File>
<File
RelativePath="..\..\cairomm\fontoptions.h"
>
</File>
<File
RelativePath="..\..\cairomm\path.h"
>
</File>
<File
RelativePath="..\..\cairomm\pattern.h"
>
</File>
<File
RelativePath="..\..\cairomm\private.h"
>
</File>
<File
RelativePath="..\..\cairomm\refptr.h"
>
</File>
<File
RelativePath="..\..\cairomm\scaledfont.h"
>
</File>
<File
RelativePath="..\..\cairomm\surface.h"
>
</File>
<File
RelativePath="..\..\cairomm\win32_surface.h"
>
</File>
<File
RelativePath="..\..\cairomm\xlib_surface.h"
>
</File>
</Filter>
<Filter
Name="Resource Files"
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
>
<File
RelativePath=".\cairomm.rc"
>
</File>
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

View File

@ -1 +0,0 @@
SUBDIRS = pdf-surface png_file ps-surface svg-surface text-rotate

View File

@ -1,497 +0,0 @@
# Makefile.in generated by automake 1.9.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ../..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
subdir = MSVC/examples
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/ax_boost_base.m4 \
$(top_srcdir)/m4/ax_boost_unit_test_framework.m4 \
$(top_srcdir)/m4/reduced.m4 $(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/cairomm/cairommconfig.h
CONFIG_CLEAN_FILES =
SOURCES =
DIST_SOURCES =
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
html-recursive info-recursive install-data-recursive \
install-exec-recursive install-info-recursive \
install-recursive installcheck-recursive installdirs-recursive \
pdf-recursive ps-recursive uninstall-info-recursive \
uninstall-recursive
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AR = @AR@
AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AUTOTESTS_FALSE = @AUTOTESTS_FALSE@
AUTOTESTS_TRUE = @AUTOTESTS_TRUE@
AWK = @AWK@
BOOST_CPPFLAGS = @BOOST_CPPFLAGS@
BOOST_LDFLAGS = @BOOST_LDFLAGS@
BOOST_UNIT_TEST_FRAMEWORK_LIB = @BOOST_UNIT_TEST_FRAMEWORK_LIB@
CAIROMM_CFLAGS = @CAIROMM_CFLAGS@
CAIROMM_LIBS = @CAIROMM_LIBS@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
DOCS_SUBDIR = @DOCS_SUBDIR@
DOT = @DOT@
DOXYGEN = @DOXYGEN@
ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
F77 = @F77@
FFLAGS = @FFLAGS@
GENERIC_LIBRARY_VERSION = @GENERIC_LIBRARY_VERSION@
GENERIC_MAJOR_VERSION = @GENERIC_MAJOR_VERSION@
GENERIC_MICRO_VERSION = @GENERIC_MICRO_VERSION@
GENERIC_MINOR_VERSION = @GENERIC_MINOR_VERSION@
GENERIC_VERSION = @GENERIC_VERSION@
GREP = @GREP@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OS_WIN32_FALSE = @OS_WIN32_FALSE@
OS_WIN32_TRUE = @OS_WIN32_TRUE@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
PLATFORM_WIN32_FALSE = @PLATFORM_WIN32_FALSE@
PLATFORM_WIN32_TRUE = @PLATFORM_WIN32_TRUE@
RANLIB = @RANLIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_F77 = @ac_ct_F77@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
SUBDIRS = pdf-surface png_file ps-surface svg-surface text-rotate
all: all-recursive
.SUFFIXES:
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu MSVC/examples/Makefile'; \
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu MSVC/examples/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
distclean-libtool:
-rm -f libtool
uninstall-info-am:
# This directory's subdirectories are mostly independent; you can cd
# into them and run `make' without going through this Makefile.
# To change the values of `make' variables: instead of editing Makefiles,
# (1) if the variable is set in `config.status', edit `config.status'
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
@failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
*k*) failcom='fail=yes';; \
esac; \
done; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
list='$(SUBDIRS)'; for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done; \
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
mostlyclean-recursive clean-recursive distclean-recursive \
maintainer-clean-recursive:
@failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
*k*) failcom='fail=yes';; \
esac; \
done; \
dot_seen=no; \
case "$@" in \
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
*) list='$(SUBDIRS)' ;; \
esac; \
rev=''; for subdir in $$list; do \
if test "$$subdir" = "."; then :; else \
rev="$$subdir $$rev"; \
fi; \
done; \
rev="$$rev ."; \
target=`echo $@ | sed s/-recursive//`; \
for subdir in $$rev; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done && test -z "$$fail"
tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
done
ctags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
done
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
empty_fix=.; \
else \
include_option=--include; \
empty_fix=; \
fi; \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test ! -f $$subdir/TAGS || \
tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique; \
fi
ctags: CTAGS
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& cd $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \
case $$file in \
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
esac; \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \
$(mkdir_p) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
if test -d $$d/$$file; then \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -d "$(distdir)/$$subdir" \
|| $(mkdir_p) "$(distdir)/$$subdir" \
|| exit 1; \
distdir=`$(am__cd) $(distdir) && pwd`; \
top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
(cd $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$$top_distdir" \
distdir="$$distdir/$$subdir" \
distdir) \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-recursive
all-am: Makefile
installdirs: installdirs-recursive
installdirs-am:
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
uninstall: uninstall-recursive
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-recursive
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-recursive
clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-recursive
-rm -f Makefile
distclean-am: clean-am distclean-generic distclean-libtool \
distclean-tags
dvi: dvi-recursive
dvi-am:
html: html-recursive
info: info-recursive
info-am:
install-data-am:
install-exec-am:
install-info: install-info-recursive
install-man:
installcheck-am:
maintainer-clean: maintainer-clean-recursive
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-recursive
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
pdf: pdf-recursive
pdf-am:
ps: ps-recursive
ps-am:
uninstall-am: uninstall-info-am
uninstall-info: uninstall-info-recursive
.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \
clean clean-generic clean-libtool clean-recursive ctags \
ctags-recursive distclean distclean-generic distclean-libtool \
distclean-recursive distclean-tags distdir dvi dvi-am html \
html-am info info-am install install-am install-data \
install-data-am install-exec install-exec-am install-info \
install-info-am install-man install-strip installcheck \
installcheck-am installdirs installdirs-am maintainer-clean \
maintainer-clean-generic maintainer-clean-recursive \
mostlyclean mostlyclean-generic mostlyclean-libtool \
mostlyclean-recursive pdf pdf-am ps ps-am tags tags-recursive \
uninstall uninstall-am uninstall-info-am
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@ -1 +0,0 @@
EXTRA_DIST = pdf-surface.vcproj

View File

@ -1,340 +0,0 @@
# Makefile.in generated by automake 1.9.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ../../..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
subdir = MSVC/examples/pdf-surface
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/ax_boost_base.m4 \
$(top_srcdir)/m4/ax_boost_unit_test_framework.m4 \
$(top_srcdir)/m4/reduced.m4 $(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/cairomm/cairommconfig.h
CONFIG_CLEAN_FILES =
SOURCES =
DIST_SOURCES =
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AR = @AR@
AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AUTOTESTS_FALSE = @AUTOTESTS_FALSE@
AUTOTESTS_TRUE = @AUTOTESTS_TRUE@
AWK = @AWK@
BOOST_CPPFLAGS = @BOOST_CPPFLAGS@
BOOST_LDFLAGS = @BOOST_LDFLAGS@
BOOST_UNIT_TEST_FRAMEWORK_LIB = @BOOST_UNIT_TEST_FRAMEWORK_LIB@
CAIROMM_CFLAGS = @CAIROMM_CFLAGS@
CAIROMM_LIBS = @CAIROMM_LIBS@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
DOCS_SUBDIR = @DOCS_SUBDIR@
DOT = @DOT@
DOXYGEN = @DOXYGEN@
ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
F77 = @F77@
FFLAGS = @FFLAGS@
GENERIC_LIBRARY_VERSION = @GENERIC_LIBRARY_VERSION@
GENERIC_MAJOR_VERSION = @GENERIC_MAJOR_VERSION@
GENERIC_MICRO_VERSION = @GENERIC_MICRO_VERSION@
GENERIC_MINOR_VERSION = @GENERIC_MINOR_VERSION@
GENERIC_VERSION = @GENERIC_VERSION@
GREP = @GREP@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OS_WIN32_FALSE = @OS_WIN32_FALSE@
OS_WIN32_TRUE = @OS_WIN32_TRUE@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
PLATFORM_WIN32_FALSE = @PLATFORM_WIN32_FALSE@
PLATFORM_WIN32_TRUE = @PLATFORM_WIN32_TRUE@
RANLIB = @RANLIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_F77 = @ac_ct_F77@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
EXTRA_DIST = pdf-surface.vcproj
all: all-am
.SUFFIXES:
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu MSVC/examples/pdf-surface/Makefile'; \
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu MSVC/examples/pdf-surface/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
distclean-libtool:
-rm -f libtool
uninstall-info-am:
tags: TAGS
TAGS:
ctags: CTAGS
CTAGS:
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \
case $$file in \
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
esac; \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \
$(mkdir_p) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
if test -d $$d/$$file; then \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile
installdirs:
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-am
-rm -f Makefile
distclean-am: clean-am distclean-generic distclean-libtool
dvi: dvi-am
dvi-am:
html: html-am
info: info-am
info-am:
install-data-am:
install-exec-am:
install-info: install-info-am
install-man:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-info-am
.PHONY: all all-am check check-am clean clean-generic clean-libtool \
distclean distclean-generic distclean-libtool distdir dvi \
dvi-am html html-am info info-am install install-am \
install-data install-data-am install-exec install-exec-am \
install-info install-info-am install-man install-strip \
installcheck installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-generic \
mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
uninstall-info-am
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@ -1,213 +0,0 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="8.00"
Name="examples_pdf-surface"
ProjectGUID="{129ECC08-6D30-4884-B824-4AF96EF0A45C}"
RootNamespace="examples_dispatcher"
Keyword="Win32Proj"
>
<Platforms>
<Platform
Name="Win32"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory="Debug"
IntermediateDirectory="Debug"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="&quot;$(SolutionDir)\..&quot;"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="true"
DebugInformationFormat="4"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="cairo.lib"
OutputFile="$(OutDir)/$(ProjectName).exe"
LinkIncremental="2"
GenerateManifest="true"
GenerateDebugInformation="true"
ProgramDatabaseFile="$(OutDir)/$(TargetName).pdb"
SubSystem="1"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="Release"
IntermediateDirectory="Release"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="&quot;$(SolutionDir)\..&quot;"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
RuntimeLibrary="2"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="true"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="cairo.lib"
OutputFile="$(OutDir)/$(ProjectName).exe"
LinkIncremental="1"
GenerateManifest="true"
GenerateDebugInformation="false"
SubSystem="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
<File
RelativePath="..\..\blank.cpp"
>
</File>
<File
RelativePath="..\..\..\examples\pdf-surface\main.cc"
>
</File>
</Filter>
<Filter
Name="Header Files"
Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
>
</Filter>
<Filter
Name="Resource Files"
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
>
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

View File

@ -1 +0,0 @@
EXTRA_DIST = png_file.vcproj

View File

@ -1,340 +0,0 @@
# Makefile.in generated by automake 1.9.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ../../..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
subdir = MSVC/examples/png_file
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/ax_boost_base.m4 \
$(top_srcdir)/m4/ax_boost_unit_test_framework.m4 \
$(top_srcdir)/m4/reduced.m4 $(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/cairomm/cairommconfig.h
CONFIG_CLEAN_FILES =
SOURCES =
DIST_SOURCES =
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AR = @AR@
AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AUTOTESTS_FALSE = @AUTOTESTS_FALSE@
AUTOTESTS_TRUE = @AUTOTESTS_TRUE@
AWK = @AWK@
BOOST_CPPFLAGS = @BOOST_CPPFLAGS@
BOOST_LDFLAGS = @BOOST_LDFLAGS@
BOOST_UNIT_TEST_FRAMEWORK_LIB = @BOOST_UNIT_TEST_FRAMEWORK_LIB@
CAIROMM_CFLAGS = @CAIROMM_CFLAGS@
CAIROMM_LIBS = @CAIROMM_LIBS@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
DOCS_SUBDIR = @DOCS_SUBDIR@
DOT = @DOT@
DOXYGEN = @DOXYGEN@
ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
F77 = @F77@
FFLAGS = @FFLAGS@
GENERIC_LIBRARY_VERSION = @GENERIC_LIBRARY_VERSION@
GENERIC_MAJOR_VERSION = @GENERIC_MAJOR_VERSION@
GENERIC_MICRO_VERSION = @GENERIC_MICRO_VERSION@
GENERIC_MINOR_VERSION = @GENERIC_MINOR_VERSION@
GENERIC_VERSION = @GENERIC_VERSION@
GREP = @GREP@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OS_WIN32_FALSE = @OS_WIN32_FALSE@
OS_WIN32_TRUE = @OS_WIN32_TRUE@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
PLATFORM_WIN32_FALSE = @PLATFORM_WIN32_FALSE@
PLATFORM_WIN32_TRUE = @PLATFORM_WIN32_TRUE@
RANLIB = @RANLIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_F77 = @ac_ct_F77@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
EXTRA_DIST = png_file.vcproj
all: all-am
.SUFFIXES:
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu MSVC/examples/png_file/Makefile'; \
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu MSVC/examples/png_file/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
distclean-libtool:
-rm -f libtool
uninstall-info-am:
tags: TAGS
TAGS:
ctags: CTAGS
CTAGS:
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \
case $$file in \
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
esac; \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \
$(mkdir_p) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
if test -d $$d/$$file; then \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile
installdirs:
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-am
-rm -f Makefile
distclean-am: clean-am distclean-generic distclean-libtool
dvi: dvi-am
dvi-am:
html: html-am
info: info-am
info-am:
install-data-am:
install-exec-am:
install-info: install-info-am
install-man:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-info-am
.PHONY: all all-am check check-am clean clean-generic clean-libtool \
distclean distclean-generic distclean-libtool distdir dvi \
dvi-am html html-am info info-am install install-am \
install-data install-data-am install-exec install-exec-am \
install-info install-info-am install-man install-strip \
installcheck installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-generic \
mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
uninstall-info-am
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@ -1,213 +0,0 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="8.00"
Name="examples_png_file"
ProjectGUID="{45EEED29-0231-45C6-9682-CAB2E042C51E}"
RootNamespace="examples_dispatcher"
Keyword="Win32Proj"
>
<Platforms>
<Platform
Name="Win32"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory="Debug"
IntermediateDirectory="Debug"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="&quot;$(SolutionDir)\..&quot;"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="true"
DebugInformationFormat="4"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="cairo.lib"
OutputFile="$(OutDir)/$(ProjectName).exe"
LinkIncremental="2"
GenerateManifest="true"
GenerateDebugInformation="true"
ProgramDatabaseFile="$(OutDir)/$(TargetName).pdb"
SubSystem="1"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="Release"
IntermediateDirectory="Release"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="&quot;$(SolutionDir)\..&quot;"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
RuntimeLibrary="2"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="true"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="cairo.lib"
OutputFile="$(OutDir)/$(ProjectName).exe"
LinkIncremental="1"
GenerateManifest="true"
GenerateDebugInformation="false"
SubSystem="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
<File
RelativePath="..\..\blank.cpp"
>
</File>
<File
RelativePath="..\..\..\examples\png_file\main.cc"
>
</File>
</Filter>
<Filter
Name="Header Files"
Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
>
</Filter>
<Filter
Name="Resource Files"
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
>
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

View File

@ -1 +0,0 @@
EXTRA_DIST = ps-surface.vcproj

View File

@ -1,340 +0,0 @@
# Makefile.in generated by automake 1.9.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ../../..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
subdir = MSVC/examples/ps-surface
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/ax_boost_base.m4 \
$(top_srcdir)/m4/ax_boost_unit_test_framework.m4 \
$(top_srcdir)/m4/reduced.m4 $(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/cairomm/cairommconfig.h
CONFIG_CLEAN_FILES =
SOURCES =
DIST_SOURCES =
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AR = @AR@
AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AUTOTESTS_FALSE = @AUTOTESTS_FALSE@
AUTOTESTS_TRUE = @AUTOTESTS_TRUE@
AWK = @AWK@
BOOST_CPPFLAGS = @BOOST_CPPFLAGS@
BOOST_LDFLAGS = @BOOST_LDFLAGS@
BOOST_UNIT_TEST_FRAMEWORK_LIB = @BOOST_UNIT_TEST_FRAMEWORK_LIB@
CAIROMM_CFLAGS = @CAIROMM_CFLAGS@
CAIROMM_LIBS = @CAIROMM_LIBS@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
DOCS_SUBDIR = @DOCS_SUBDIR@
DOT = @DOT@
DOXYGEN = @DOXYGEN@
ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
F77 = @F77@
FFLAGS = @FFLAGS@
GENERIC_LIBRARY_VERSION = @GENERIC_LIBRARY_VERSION@
GENERIC_MAJOR_VERSION = @GENERIC_MAJOR_VERSION@
GENERIC_MICRO_VERSION = @GENERIC_MICRO_VERSION@
GENERIC_MINOR_VERSION = @GENERIC_MINOR_VERSION@
GENERIC_VERSION = @GENERIC_VERSION@
GREP = @GREP@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OS_WIN32_FALSE = @OS_WIN32_FALSE@
OS_WIN32_TRUE = @OS_WIN32_TRUE@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
PLATFORM_WIN32_FALSE = @PLATFORM_WIN32_FALSE@
PLATFORM_WIN32_TRUE = @PLATFORM_WIN32_TRUE@
RANLIB = @RANLIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_F77 = @ac_ct_F77@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
EXTRA_DIST = ps-surface.vcproj
all: all-am
.SUFFIXES:
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu MSVC/examples/ps-surface/Makefile'; \
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu MSVC/examples/ps-surface/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
distclean-libtool:
-rm -f libtool
uninstall-info-am:
tags: TAGS
TAGS:
ctags: CTAGS
CTAGS:
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \
case $$file in \
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
esac; \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \
$(mkdir_p) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
if test -d $$d/$$file; then \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile
installdirs:
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-am
-rm -f Makefile
distclean-am: clean-am distclean-generic distclean-libtool
dvi: dvi-am
dvi-am:
html: html-am
info: info-am
info-am:
install-data-am:
install-exec-am:
install-info: install-info-am
install-man:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-info-am
.PHONY: all all-am check check-am clean clean-generic clean-libtool \
distclean distclean-generic distclean-libtool distdir dvi \
dvi-am html html-am info info-am install install-am \
install-data install-data-am install-exec install-exec-am \
install-info install-info-am install-man install-strip \
installcheck installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-generic \
mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
uninstall-info-am
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@ -1,213 +0,0 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="8.00"
Name="examples_ps-surface"
ProjectGUID="{CAE46373-7375-4607-AAB7-0EBA8F0E5B55}"
RootNamespace="examples_dispatcher"
Keyword="Win32Proj"
>
<Platforms>
<Platform
Name="Win32"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory="Debug"
IntermediateDirectory="Debug"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="&quot;$(SolutionDir)\..&quot;"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="true"
DebugInformationFormat="4"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="cairo.lib"
OutputFile="$(OutDir)/$(ProjectName).exe"
LinkIncremental="2"
GenerateManifest="true"
GenerateDebugInformation="true"
ProgramDatabaseFile="$(OutDir)/$(TargetName).pdb"
SubSystem="1"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="Release"
IntermediateDirectory="Release"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="&quot;$(SolutionDir)\..&quot;"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
RuntimeLibrary="2"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="true"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="cairo.lib"
OutputFile="$(OutDir)/$(ProjectName).exe"
LinkIncremental="1"
GenerateManifest="true"
GenerateDebugInformation="false"
SubSystem="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
<File
RelativePath="..\..\blank.cpp"
>
</File>
<File
RelativePath="..\..\..\examples\ps-surface\main.cc"
>
</File>
</Filter>
<Filter
Name="Header Files"
Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
>
</Filter>
<Filter
Name="Resource Files"
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
>
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

View File

@ -1 +0,0 @@
EXTRA_DIST = svg-surface.vcproj

View File

@ -1,340 +0,0 @@
# Makefile.in generated by automake 1.9.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ../../..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
subdir = MSVC/examples/svg-surface
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/ax_boost_base.m4 \
$(top_srcdir)/m4/ax_boost_unit_test_framework.m4 \
$(top_srcdir)/m4/reduced.m4 $(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/cairomm/cairommconfig.h
CONFIG_CLEAN_FILES =
SOURCES =
DIST_SOURCES =
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AR = @AR@
AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AUTOTESTS_FALSE = @AUTOTESTS_FALSE@
AUTOTESTS_TRUE = @AUTOTESTS_TRUE@
AWK = @AWK@
BOOST_CPPFLAGS = @BOOST_CPPFLAGS@
BOOST_LDFLAGS = @BOOST_LDFLAGS@
BOOST_UNIT_TEST_FRAMEWORK_LIB = @BOOST_UNIT_TEST_FRAMEWORK_LIB@
CAIROMM_CFLAGS = @CAIROMM_CFLAGS@
CAIROMM_LIBS = @CAIROMM_LIBS@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
DOCS_SUBDIR = @DOCS_SUBDIR@
DOT = @DOT@
DOXYGEN = @DOXYGEN@
ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
F77 = @F77@
FFLAGS = @FFLAGS@
GENERIC_LIBRARY_VERSION = @GENERIC_LIBRARY_VERSION@
GENERIC_MAJOR_VERSION = @GENERIC_MAJOR_VERSION@
GENERIC_MICRO_VERSION = @GENERIC_MICRO_VERSION@
GENERIC_MINOR_VERSION = @GENERIC_MINOR_VERSION@
GENERIC_VERSION = @GENERIC_VERSION@
GREP = @GREP@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OS_WIN32_FALSE = @OS_WIN32_FALSE@
OS_WIN32_TRUE = @OS_WIN32_TRUE@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
PLATFORM_WIN32_FALSE = @PLATFORM_WIN32_FALSE@
PLATFORM_WIN32_TRUE = @PLATFORM_WIN32_TRUE@
RANLIB = @RANLIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_F77 = @ac_ct_F77@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
EXTRA_DIST = svg-surface.vcproj
all: all-am
.SUFFIXES:
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu MSVC/examples/svg-surface/Makefile'; \
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu MSVC/examples/svg-surface/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
distclean-libtool:
-rm -f libtool
uninstall-info-am:
tags: TAGS
TAGS:
ctags: CTAGS
CTAGS:
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \
case $$file in \
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
esac; \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \
$(mkdir_p) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
if test -d $$d/$$file; then \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile
installdirs:
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-am
-rm -f Makefile
distclean-am: clean-am distclean-generic distclean-libtool
dvi: dvi-am
dvi-am:
html: html-am
info: info-am
info-am:
install-data-am:
install-exec-am:
install-info: install-info-am
install-man:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-info-am
.PHONY: all all-am check check-am clean clean-generic clean-libtool \
distclean distclean-generic distclean-libtool distdir dvi \
dvi-am html html-am info info-am install install-am \
install-data install-data-am install-exec install-exec-am \
install-info install-info-am install-man install-strip \
installcheck installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-generic \
mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
uninstall-info-am
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@ -1,213 +0,0 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="8.00"
Name="examples_svg-surface"
ProjectGUID="{BCA44D2B-1832-41F5-9EE9-FE1F709EE584}"
RootNamespace="examples_dispatcher"
Keyword="Win32Proj"
>
<Platforms>
<Platform
Name="Win32"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory="Debug"
IntermediateDirectory="Debug"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="&quot;$(SolutionDir)\..&quot;"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="true"
DebugInformationFormat="4"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="cairo.lib"
OutputFile="$(OutDir)/$(ProjectName).exe"
LinkIncremental="2"
GenerateManifest="true"
GenerateDebugInformation="true"
ProgramDatabaseFile="$(OutDir)/$(TargetName).pdb"
SubSystem="1"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="Release"
IntermediateDirectory="Release"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="&quot;$(SolutionDir)\..&quot;"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
RuntimeLibrary="2"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="true"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="cairo.lib"
OutputFile="$(OutDir)/$(ProjectName).exe"
LinkIncremental="1"
GenerateManifest="true"
GenerateDebugInformation="false"
SubSystem="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
<File
RelativePath="..\..\blank.cpp"
>
</File>
<File
RelativePath="..\..\..\examples\svg-surface\main.cc"
>
</File>
</Filter>
<Filter
Name="Header Files"
Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
>
</Filter>
<Filter
Name="Resource Files"
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
>
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

View File

@ -1 +0,0 @@
EXTRA_DIST = text-rotate.vcproj

View File

@ -1,340 +0,0 @@
# Makefile.in generated by automake 1.9.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ../../..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
subdir = MSVC/examples/text-rotate
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/ax_boost_base.m4 \
$(top_srcdir)/m4/ax_boost_unit_test_framework.m4 \
$(top_srcdir)/m4/reduced.m4 $(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/cairomm/cairommconfig.h
CONFIG_CLEAN_FILES =
SOURCES =
DIST_SOURCES =
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AR = @AR@
AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AUTOTESTS_FALSE = @AUTOTESTS_FALSE@
AUTOTESTS_TRUE = @AUTOTESTS_TRUE@
AWK = @AWK@
BOOST_CPPFLAGS = @BOOST_CPPFLAGS@
BOOST_LDFLAGS = @BOOST_LDFLAGS@
BOOST_UNIT_TEST_FRAMEWORK_LIB = @BOOST_UNIT_TEST_FRAMEWORK_LIB@
CAIROMM_CFLAGS = @CAIROMM_CFLAGS@
CAIROMM_LIBS = @CAIROMM_LIBS@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
DOCS_SUBDIR = @DOCS_SUBDIR@
DOT = @DOT@
DOXYGEN = @DOXYGEN@
ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
F77 = @F77@
FFLAGS = @FFLAGS@
GENERIC_LIBRARY_VERSION = @GENERIC_LIBRARY_VERSION@
GENERIC_MAJOR_VERSION = @GENERIC_MAJOR_VERSION@
GENERIC_MICRO_VERSION = @GENERIC_MICRO_VERSION@
GENERIC_MINOR_VERSION = @GENERIC_MINOR_VERSION@
GENERIC_VERSION = @GENERIC_VERSION@
GREP = @GREP@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OS_WIN32_FALSE = @OS_WIN32_FALSE@
OS_WIN32_TRUE = @OS_WIN32_TRUE@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
PLATFORM_WIN32_FALSE = @PLATFORM_WIN32_FALSE@
PLATFORM_WIN32_TRUE = @PLATFORM_WIN32_TRUE@
RANLIB = @RANLIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_F77 = @ac_ct_F77@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
EXTRA_DIST = text-rotate.vcproj
all: all-am
.SUFFIXES:
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu MSVC/examples/text-rotate/Makefile'; \
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu MSVC/examples/text-rotate/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
distclean-libtool:
-rm -f libtool
uninstall-info-am:
tags: TAGS
TAGS:
ctags: CTAGS
CTAGS:
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \
case $$file in \
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
esac; \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \
$(mkdir_p) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
if test -d $$d/$$file; then \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile
installdirs:
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-am
-rm -f Makefile
distclean-am: clean-am distclean-generic distclean-libtool
dvi: dvi-am
dvi-am:
html: html-am
info: info-am
info-am:
install-data-am:
install-exec-am:
install-info: install-info-am
install-man:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-info-am
.PHONY: all all-am check check-am clean clean-generic clean-libtool \
distclean distclean-generic distclean-libtool distdir dvi \
dvi-am html html-am info info-am install install-am \
install-data install-data-am install-exec install-exec-am \
install-info install-info-am install-man install-strip \
installcheck installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-generic \
mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
uninstall-info-am
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@ -1,213 +0,0 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="8.00"
Name="examples_text-rotate"
ProjectGUID="{F4D455E4-464D-49CC-A120-DB9B8AE0207E}"
RootNamespace="examples_dispatcher"
Keyword="Win32Proj"
>
<Platforms>
<Platform
Name="Win32"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory="Debug"
IntermediateDirectory="Debug"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
AdditionalIncludeDirectories="&quot;$(SolutionDir)\..&quot;"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="3"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="true"
DebugInformationFormat="4"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="cairo.lib"
OutputFile="$(OutDir)/$(ProjectName).exe"
LinkIncremental="2"
GenerateManifest="true"
GenerateDebugInformation="true"
ProgramDatabaseFile="$(OutDir)/$(TargetName).pdb"
SubSystem="1"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="Release"
IntermediateDirectory="Release"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
AdditionalIncludeDirectories="&quot;$(SolutionDir)\..&quot;"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
RuntimeLibrary="2"
RuntimeTypeInfo="true"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="true"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
AdditionalDependencies="cairo.lib"
OutputFile="$(OutDir)/$(ProjectName).exe"
LinkIncremental="1"
GenerateManifest="true"
GenerateDebugInformation="false"
SubSystem="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
<File
RelativePath="..\..\blank.cpp"
>
</File>
<File
RelativePath="..\..\..\examples\text-rotate\text-rotate.cc"
>
</File>
</Filter>
<Filter
Name="Header Files"
Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
>
</Filter>
<Filter
Name="Resource Files"
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
>
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

View File

@ -1,2 +0,0 @@
EXTRA_DIST = gendef.vcproj gendef.cc

View File

@ -1,340 +0,0 @@
# Makefile.in generated by automake 1.9.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ../..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
subdir = MSVC/gendef
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/ax_boost_base.m4 \
$(top_srcdir)/m4/ax_boost_unit_test_framework.m4 \
$(top_srcdir)/m4/reduced.m4 $(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/cairomm/cairommconfig.h
CONFIG_CLEAN_FILES =
SOURCES =
DIST_SOURCES =
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AR = @AR@
AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AUTOTESTS_FALSE = @AUTOTESTS_FALSE@
AUTOTESTS_TRUE = @AUTOTESTS_TRUE@
AWK = @AWK@
BOOST_CPPFLAGS = @BOOST_CPPFLAGS@
BOOST_LDFLAGS = @BOOST_LDFLAGS@
BOOST_UNIT_TEST_FRAMEWORK_LIB = @BOOST_UNIT_TEST_FRAMEWORK_LIB@
CAIROMM_CFLAGS = @CAIROMM_CFLAGS@
CAIROMM_LIBS = @CAIROMM_LIBS@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
DOCS_SUBDIR = @DOCS_SUBDIR@
DOT = @DOT@
DOXYGEN = @DOXYGEN@
ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
F77 = @F77@
FFLAGS = @FFLAGS@
GENERIC_LIBRARY_VERSION = @GENERIC_LIBRARY_VERSION@
GENERIC_MAJOR_VERSION = @GENERIC_MAJOR_VERSION@
GENERIC_MICRO_VERSION = @GENERIC_MICRO_VERSION@
GENERIC_MINOR_VERSION = @GENERIC_MINOR_VERSION@
GENERIC_VERSION = @GENERIC_VERSION@
GREP = @GREP@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OS_WIN32_FALSE = @OS_WIN32_FALSE@
OS_WIN32_TRUE = @OS_WIN32_TRUE@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
PLATFORM_WIN32_FALSE = @PLATFORM_WIN32_FALSE@
PLATFORM_WIN32_TRUE = @PLATFORM_WIN32_TRUE@
RANLIB = @RANLIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_F77 = @ac_ct_F77@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
EXTRA_DIST = gendef.vcproj gendef.cc
all: all-am
.SUFFIXES:
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu MSVC/gendef/Makefile'; \
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu MSVC/gendef/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
distclean-libtool:
-rm -f libtool
uninstall-info-am:
tags: TAGS
TAGS:
ctags: CTAGS
CTAGS:
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \
case $$file in \
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
esac; \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \
$(mkdir_p) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
if test -d $$d/$$file; then \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-am
all-am: Makefile
installdirs:
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-am
-rm -f Makefile
distclean-am: clean-am distclean-generic distclean-libtool
dvi: dvi-am
dvi-am:
html: html-am
info: info-am
info-am:
install-data-am:
install-exec-am:
install-info: install-info-am
install-man:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-info-am
.PHONY: all all-am check check-am clean clean-generic clean-libtool \
distclean distclean-generic distclean-libtool distdir dvi \
dvi-am html html-am info info-am install install-am \
install-data install-data-am install-exec install-exec-am \
install-info install-info-am install-man install-strip \
installcheck installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-generic \
mostlyclean-libtool pdf pdf-am ps ps-am uninstall uninstall-am \
uninstall-info-am
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@ -1,94 +0,0 @@
/*
* MICO --- an Open Source CORBA implementation
* Copyright (c) 2003 Harald Böhme
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* For more information, visit the MICO Home Page at
* http://www.mico.org/
*/
/* Modified by Cedric Gustin <cedric.gustin@gmail.com> on 2006/01/13 :
* Redirect the output of dumpbin to dumpbin.out instead of reading the
* output stream of popen, as it fails with Visual Studio 2005 in
* pre-link build events.
*/
#include <iostream>
#include <fstream>
#include <stdio.h>
using namespace std;
int main(int argc,char** argv)
{
if (argc < 4) {
cerr << "Usage: " << argv[0] << " <def-file-name> <dll-base-name> <obj-file> ...." << endl;
return 2;
}
// CG : Explicitly redirect stdout to dumpbin.out.
string dumpbin = "dumpbin /SYMBOLS /OUT:dumpbin.out";
int i = 3;
for(;i<argc;) {
dumpbin += " ";
dumpbin += argv[i++];
}
FILE * dump;
if( (dump = _popen(dumpbin.c_str(),"r")) == NULL ) {
cerr << "could not popen dumpbin" << endl;
return 3;
}
// CG : Wait for the dumpbin process to finish and open dumpbin.out.
_pclose(dump);
dump=fopen("dumpbin.out","r");
ofstream def_file(argv[1]);
def_file << "LIBRARY " << argv[2] << endl;
def_file << "EXPORTS" << endl;
i=0;
while( !feof(dump)) {
char buf [65000];
if( fgets( buf, 64999, dump ) != NULL ) {
if(!strstr(buf," UNDEF ") && strstr(buf," External ")) {
char *s = strchr(buf,'|') + 1;
while(*s == ' ' || *s == '\t') s++;
char *e=s;
while(*e != ' ' && *e != '\t' && *e != '\0' && *e!= '\n') e++;
*e = '\0';
if(strchr(s,'?')==0 && s[0]=='_' && strchr(s,'@') == 0 )//this is a C export type: _fct -> fct
def_file << " " << (s+1) << endl;
else
if(strchr(s,'?')!=0 && strncmp(s,"??_G",4)!=0 && strncmp(s,"??_E",4)!=0) {
def_file << " " << s << endl;
}
}
}
}
// CG : Close dumpbin.out and delete it.
fclose(dump);
remove("dumpbin.out");
cout << dumpbin.c_str() << endl;
}

View File

@ -1,206 +0,0 @@
<?xml version="1.0" encoding="Windows-1252"?>
<VisualStudioProject
ProjectType="Visual C++"
Version="8.00"
Name="gendef"
ProjectGUID="{07324745-C9BE-4D65-B08A-9C88188C0C28}"
Keyword="Win32Proj"
>
<Platforms>
<Platform
Name="Win32"
/>
</Platforms>
<ToolFiles>
</ToolFiles>
<Configurations>
<Configuration
Name="Debug|Win32"
OutputDirectory="Debug"
IntermediateDirectory="Debug"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
Optimization="0"
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
MinimalRebuild="true"
BasicRuntimeChecks="3"
RuntimeLibrary="1"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="true"
DebugInformationFormat="4"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
OutputFile="$(OutDir)/gendef.exe"
LinkIncremental="2"
GenerateManifest="true"
GenerateDebugInformation="true"
ProgramDatabaseFile="$(OutDir)/$(TargetName).pdb"
SubSystem="1"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
<Configuration
Name="Release|Win32"
OutputDirectory="Release"
IntermediateDirectory="Release"
ConfigurationType="1"
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
CharacterSet="2"
>
<Tool
Name="VCPreBuildEventTool"
/>
<Tool
Name="VCCustomBuildTool"
/>
<Tool
Name="VCXMLDataGeneratorTool"
/>
<Tool
Name="VCWebServiceProxyGeneratorTool"
/>
<Tool
Name="VCMIDLTool"
/>
<Tool
Name="VCCLCompilerTool"
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
RuntimeLibrary="0"
UsePrecompiledHeader="0"
WarningLevel="3"
Detect64BitPortabilityProblems="true"
DebugInformationFormat="3"
/>
<Tool
Name="VCManagedResourceCompilerTool"
/>
<Tool
Name="VCResourceCompilerTool"
/>
<Tool
Name="VCPreLinkEventTool"
/>
<Tool
Name="VCLinkerTool"
OutputFile="$(OutDir)/gendef.exe"
LinkIncremental="1"
GenerateManifest="false"
GenerateDebugInformation="true"
SubSystem="1"
OptimizeReferences="2"
EnableCOMDATFolding="2"
TargetMachine="1"
/>
<Tool
Name="VCALinkTool"
/>
<Tool
Name="VCManifestTool"
/>
<Tool
Name="VCXDCMakeTool"
/>
<Tool
Name="VCBscMakeTool"
/>
<Tool
Name="VCFxCopTool"
/>
<Tool
Name="VCAppVerifierTool"
/>
<Tool
Name="VCWebDeploymentTool"
/>
<Tool
Name="VCPostBuildEventTool"
/>
</Configuration>
</Configurations>
<References>
</References>
<Files>
<Filter
Name="Source Files"
Filter="cpp;c;cxx;def;odl;idl;hpj;bat;asm;asmx"
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
>
<File
RelativePath="..\blank.cpp"
>
</File>
<File
RelativePath=".\gendef.cc"
>
</File>
</Filter>
<Filter
Name="Header Files"
Filter="h;hpp;hxx;hm;inl;inc;xsd"
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
>
</Filter>
<Filter
Name="Resource Files"
Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx"
UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
>
</Filter>
</Files>
<Globals>
</Globals>
</VisualStudioProject>

View File

@ -1,126 +0,0 @@
## Process this file with automake to produce Makefile.in
SUBDIRS = cairomm examples MSVC $(DOCS_SUBDIR) tests
#docs examples
ACLOCAL_AMFLAGS = -I m4
EXTRA_DIST = MAINTAINERS cairomm-1.0.pc.in
DIST_SUBDIRS = $(SUBDIRS)
# Install the pkg-config file:
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = cairomm-1.0.pc
# Copied from cairo/Makefile.am:
#
# Some custom targets to make it easier to release things.
# Use either:
# make release-check
# or make release-publish
RELEASE_UPLOAD_HOST = cairographics.org
RELEASE_UPLOAD_BASE = /srv/cairo.freedesktop.org/www
RELEASE_UPLOAD_DIR = $(RELEASE_UPLOAD_BASE)/releases
RELEASE_URL_BASE = http://cairographics.org/releases
RELEASE_ANNOUNCE_LIST = cairo-announce@cairographics.org (and CC gnome-announce-list@gnome.org)
GIT = $(top_srcdir)/missing --run git
#MANUAL_DATED = cairo-manual-`date +%Y%m%d`
#MANUAL_TAR_FILE = $(MANUAL_DATED).tar.gz
#MANUAL_UPLOAD_DIR = $(RELEASE_UPLOAD_BASE)
tar_file = $(PACKAGE)-$(VERSION).tar.gz
sha1_file = $(tar_file).sha1
gpg_file = $(sha1_file).asc
$(sha1_file): $(tar_file)
sha1sum $^ > $@
$(gpg_file): $(sha1_file)
@echo "Please enter your GPG password to sign the checksum."
gpg --armor --sign $^
release-verify-even-micro:
@echo -n "Checking that $(VERSION) has an even micro component..."
@test "$(GENERIC_MICRO_VERSION)" = "`echo $(GENERIC_MICRO_VERSION)/2*2 | bc`" \
|| (echo "Ouch." && echo "The version micro component '$(GENERIC_MICRO_VERSION)' is not an even number." \
&& echo "The version in configure.in must be incremented before a new release." \
&& false)
@echo "Good."
release-verify-newer:
@echo -n "Checking that no $(VERSION) release already exists..."
@ssh $(RELEASE_UPLOAD_HOST) test ! -e $(RELEASE_UPLOAD_DIR)/$(tar_file) \
|| (echo "Ouch." && echo "Found: $(RELEASE_UPLOAD_HOST):$(RELEASE_UPLOAD_DIR)/$(tar_file)" \
&& echo "Are you sure you have an updated git checkout?" \
&& echo "This should never happen." \
&& false)
@echo "Good."
release-remove-old:
rm -f $(tar_file) $(sha1_file) $(gpg_file)
# Maybe it's just my system, but somehow group sticky bits keep
# getting set and this causes failures in un-tarring on some systems.
# Until I figure out where the sticky bit is coming from, just clean
# these up before building a release.
release-cleanup-group-sticky:
find . -type f | xargs chmod g-s
release-check: release-verify-even-micro release-verify-newer release-remove-old release-cleanup-group-sticky distcheck
release-upload: release-check $(tar_file) $(sha1_file) $(gpg_file)
mkdir -p releases
scp $(tar_file) $(sha1_file) $(gpg_file) $(RELEASE_UPLOAD_HOST):$(RELEASE_UPLOAD_DIR)
mv $(tar_file) $(sha1_file) $(gpg_file) releases
ssh $(RELEASE_UPLOAD_HOST) "rm -f $(RELEASE_UPLOAD_DIR)/LATEST-$(PACKAGE)-[0-9]* && ln -s $(tar_file) $(RELEASE_UPLOAD_DIR)/LATEST-$(PACKAGE)-$(VERSION)"
$(GIT) tag -s -m "$(PACKAGE) release $(VERSION)" v$(VERSION)
doc-publish:
(cd docs/reference && $(MAKE) $(AM_MAKEFLAGS) publish)
release-publish: release-upload doc-publish releases/$(sha1_file)
@echo ""
@echo "Please send an announcement to $(RELEASE_ANNOUNCE_LIST)"
@echo "including the following:"
@echo ""
@echo "Subject: $(PACKAGE) release $(VERSION) now available"
@echo ""
@echo "============================== CUT HERE =============================="
@echo "cairomm is a C++ API for the cairo graphics library. For more "
@echo "information, see http://cairographics.org/cairomm"
@echo ""
@echo "A new $(PACKAGE) release $(VERSION) is now available from:"
@echo ""
@echo " $(RELEASE_URL_BASE)/$(tar_file)"
@echo ""
@echo " which can be verified with:"
@echo ""
@echo " $(RELEASE_URL_BASE)/$(sha1_file)"
@echo -n " "
@cat releases/$(sha1_file)
@echo ""
@echo " $(RELEASE_URL_BASE)/$(gpg_file)"
@echo " (signed by `getent passwd "$$USER" | cut -d: -f 5 | cut -d, -f 1`)"
@echo ""
@echo "WHAT'S NEW"
@echo "=========="
@echo ""
@echo "============================== CUT HERE =============================="
@echo "Also, please include the new entries from the NEWS file."
@echo ""
@echo "Last but not least, do not forget to bump up the micro"
@echo "version component to the next (odd) number and commit."
doc-clean-recursive:
(cd docs && $(MAKE) $(AM_MAKEFLAGS) doc-clean)
doc-clean: doc-clean-recursive
doc-rebuild:
(cd docs && $(MAKE) $(AM_MAKEFLAGS) doc-rebuild)
.PHONY: release-verify-even-micro release-verify-newer release-remove-old release-cleanup-group-sticky release-check release-upload release-publish doc-clean doc-clean-recursive doc-rebuild

View File

@ -1,770 +0,0 @@
# Makefile.in generated by automake 1.9.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = .
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
DIST_COMMON = README $(am__configure_deps) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in $(srcdir)/cairomm-1.0.pc.in \
$(top_srcdir)/configure AUTHORS COPYING ChangeLog INSTALL NEWS \
config.guess config.sub depcomp install-sh ltmain.sh missing
subdir = .
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/ax_boost_base.m4 \
$(top_srcdir)/m4/ax_boost_unit_test_framework.m4 \
$(top_srcdir)/m4/reduced.m4 $(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
am__CONFIG_DISTCLEAN_FILES = config.status config.cache config.log \
configure.lineno configure.status.lineno
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/cairomm/cairommconfig.h
CONFIG_CLEAN_FILES = cairomm-1.0.pc
SOURCES =
DIST_SOURCES =
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
html-recursive info-recursive install-data-recursive \
install-exec-recursive install-info-recursive \
install-recursive installcheck-recursive installdirs-recursive \
pdf-recursive ps-recursive uninstall-info-recursive \
uninstall-recursive
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
am__installdirs = "$(DESTDIR)$(pkgconfigdir)"
pkgconfigDATA_INSTALL = $(INSTALL_DATA)
DATA = $(pkgconfig_DATA)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
distdir = $(PACKAGE)-$(VERSION)
top_distdir = $(distdir)
am__remove_distdir = \
{ test ! -d $(distdir) \
|| { find $(distdir) -type d ! -perm -200 -exec chmod u+w {} ';' \
&& rm -fr $(distdir); }; }
DIST_ARCHIVES = $(distdir).tar.gz
GZIP_ENV = --best
distuninstallcheck_listfiles = find . -type f -print
distcleancheck_listfiles = find . -type f -print
ACLOCAL = @ACLOCAL@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AR = @AR@
AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AUTOTESTS_FALSE = @AUTOTESTS_FALSE@
AUTOTESTS_TRUE = @AUTOTESTS_TRUE@
AWK = @AWK@
BOOST_CPPFLAGS = @BOOST_CPPFLAGS@
BOOST_LDFLAGS = @BOOST_LDFLAGS@
BOOST_UNIT_TEST_FRAMEWORK_LIB = @BOOST_UNIT_TEST_FRAMEWORK_LIB@
CAIROMM_CFLAGS = @CAIROMM_CFLAGS@
CAIROMM_LIBS = @CAIROMM_LIBS@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
DOCS_SUBDIR = @DOCS_SUBDIR@
DOT = @DOT@
DOXYGEN = @DOXYGEN@
ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
F77 = @F77@
FFLAGS = @FFLAGS@
GENERIC_LIBRARY_VERSION = @GENERIC_LIBRARY_VERSION@
GENERIC_MAJOR_VERSION = @GENERIC_MAJOR_VERSION@
GENERIC_MICRO_VERSION = @GENERIC_MICRO_VERSION@
GENERIC_MINOR_VERSION = @GENERIC_MINOR_VERSION@
GENERIC_VERSION = @GENERIC_VERSION@
GREP = @GREP@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OS_WIN32_FALSE = @OS_WIN32_FALSE@
OS_WIN32_TRUE = @OS_WIN32_TRUE@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
PLATFORM_WIN32_FALSE = @PLATFORM_WIN32_FALSE@
PLATFORM_WIN32_TRUE = @PLATFORM_WIN32_TRUE@
RANLIB = @RANLIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_F77 = @ac_ct_F77@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
SUBDIRS = cairomm examples MSVC $(DOCS_SUBDIR) tests
#docs examples
ACLOCAL_AMFLAGS = -I m4
EXTRA_DIST = MAINTAINERS cairomm-1.0.pc.in
DIST_SUBDIRS = $(SUBDIRS)
# Install the pkg-config file:
pkgconfigdir = $(libdir)/pkgconfig
pkgconfig_DATA = cairomm-1.0.pc
# Copied from cairo/Makefile.am:
#
# Some custom targets to make it easier to release things.
# Use either:
# make release-check
# or make release-publish
RELEASE_UPLOAD_HOST = cairographics.org
RELEASE_UPLOAD_BASE = /srv/cairo.freedesktop.org/www
RELEASE_UPLOAD_DIR = $(RELEASE_UPLOAD_BASE)/releases
RELEASE_URL_BASE = http://cairographics.org/releases
RELEASE_ANNOUNCE_LIST = cairo-announce@cairographics.org (and CC gnome-announce-list@gnome.org)
GIT = $(top_srcdir)/missing --run git
#MANUAL_DATED = cairo-manual-`date +%Y%m%d`
#MANUAL_TAR_FILE = $(MANUAL_DATED).tar.gz
#MANUAL_UPLOAD_DIR = $(RELEASE_UPLOAD_BASE)
tar_file = $(PACKAGE)-$(VERSION).tar.gz
sha1_file = $(tar_file).sha1
gpg_file = $(sha1_file).asc
all: all-recursive
.SUFFIXES:
am--refresh:
@:
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
echo ' cd $(srcdir) && $(AUTOMAKE) --gnu '; \
cd $(srcdir) && $(AUTOMAKE) --gnu \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu Makefile'; \
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
echo ' $(SHELL) ./config.status'; \
$(SHELL) ./config.status;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
$(SHELL) ./config.status --recheck
$(top_srcdir)/configure: $(am__configure_deps)
cd $(srcdir) && $(AUTOCONF)
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(srcdir) && $(ACLOCAL) $(ACLOCAL_AMFLAGS)
cairomm-1.0.pc: $(top_builddir)/config.status $(srcdir)/cairomm-1.0.pc.in
cd $(top_builddir) && $(SHELL) ./config.status $@
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
distclean-libtool:
-rm -f libtool
uninstall-info-am:
install-pkgconfigDATA: $(pkgconfig_DATA)
@$(NORMAL_INSTALL)
test -z "$(pkgconfigdir)" || $(mkdir_p) "$(DESTDIR)$(pkgconfigdir)"
@list='$(pkgconfig_DATA)'; for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
f=$(am__strip_dir) \
echo " $(pkgconfigDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgconfigdir)/$$f'"; \
$(pkgconfigDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgconfigdir)/$$f"; \
done
uninstall-pkgconfigDATA:
@$(NORMAL_UNINSTALL)
@list='$(pkgconfig_DATA)'; for p in $$list; do \
f=$(am__strip_dir) \
echo " rm -f '$(DESTDIR)$(pkgconfigdir)/$$f'"; \
rm -f "$(DESTDIR)$(pkgconfigdir)/$$f"; \
done
# This directory's subdirectories are mostly independent; you can cd
# into them and run `make' without going through this Makefile.
# To change the values of `make' variables: instead of editing Makefiles,
# (1) if the variable is set in `config.status', edit `config.status'
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
@failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
*k*) failcom='fail=yes';; \
esac; \
done; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
list='$(SUBDIRS)'; for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done; \
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
mostlyclean-recursive clean-recursive distclean-recursive \
maintainer-clean-recursive:
@failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
*k*) failcom='fail=yes';; \
esac; \
done; \
dot_seen=no; \
case "$@" in \
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
*) list='$(SUBDIRS)' ;; \
esac; \
rev=''; for subdir in $$list; do \
if test "$$subdir" = "."; then :; else \
rev="$$subdir $$rev"; \
fi; \
done; \
rev="$$rev ."; \
target=`echo $@ | sed s/-recursive//`; \
for subdir in $$rev; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done && test -z "$$fail"
tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
done
ctags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
done
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
empty_fix=.; \
else \
include_option=--include; \
empty_fix=; \
fi; \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test ! -f $$subdir/TAGS || \
tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique; \
fi
ctags: CTAGS
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& cd $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
$(am__remove_distdir)
mkdir $(distdir)
$(mkdir_p) $(distdir)/. $(distdir)/MSVC/cairomm $(distdir)/docs/reference $(distdir)/m4
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \
case $$file in \
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
esac; \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \
$(mkdir_p) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
if test -d $$d/$$file; then \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -d "$(distdir)/$$subdir" \
|| $(mkdir_p) "$(distdir)/$$subdir" \
|| exit 1; \
distdir=`$(am__cd) $(distdir) && pwd`; \
top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
(cd $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$$top_distdir" \
distdir="$$distdir/$$subdir" \
distdir) \
|| exit 1; \
fi; \
done
-find $(distdir) -type d ! -perm -777 -exec chmod a+rwx {} \; -o \
! -type d ! -perm -444 -links 1 -exec chmod a+r {} \; -o \
! -type d ! -perm -400 -exec chmod a+r {} \; -o \
! -type d ! -perm -444 -exec $(SHELL) $(install_sh) -c -m a+r {} {} \; \
|| chmod -R a+r $(distdir)
dist-gzip: distdir
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
$(am__remove_distdir)
dist-bzip2: distdir
tardir=$(distdir) && $(am__tar) | bzip2 -9 -c >$(distdir).tar.bz2
$(am__remove_distdir)
dist-tarZ: distdir
tardir=$(distdir) && $(am__tar) | compress -c >$(distdir).tar.Z
$(am__remove_distdir)
dist-shar: distdir
shar $(distdir) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).shar.gz
$(am__remove_distdir)
dist-zip: distdir
-rm -f $(distdir).zip
zip -rq $(distdir).zip $(distdir)
$(am__remove_distdir)
dist dist-all: distdir
tardir=$(distdir) && $(am__tar) | GZIP=$(GZIP_ENV) gzip -c >$(distdir).tar.gz
$(am__remove_distdir)
# This target untars the dist file and tries a VPATH configuration. Then
# it guarantees that the distribution is self-contained by making another
# tarfile.
distcheck: dist
case '$(DIST_ARCHIVES)' in \
*.tar.gz*) \
GZIP=$(GZIP_ENV) gunzip -c $(distdir).tar.gz | $(am__untar) ;;\
*.tar.bz2*) \
bunzip2 -c $(distdir).tar.bz2 | $(am__untar) ;;\
*.tar.Z*) \
uncompress -c $(distdir).tar.Z | $(am__untar) ;;\
*.shar.gz*) \
GZIP=$(GZIP_ENV) gunzip -c $(distdir).shar.gz | unshar ;;\
*.zip*) \
unzip $(distdir).zip ;;\
esac
chmod -R a-w $(distdir); chmod a+w $(distdir)
mkdir $(distdir)/_build
mkdir $(distdir)/_inst
chmod a-w $(distdir)
dc_install_base=`$(am__cd) $(distdir)/_inst && pwd | sed -e 's,^[^:\\/]:[\\/],/,'` \
&& dc_destdir="$${TMPDIR-/tmp}/am-dc-$$$$/" \
&& cd $(distdir)/_build \
&& ../configure --srcdir=.. --prefix="$$dc_install_base" \
$(DISTCHECK_CONFIGURE_FLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) \
&& $(MAKE) $(AM_MAKEFLAGS) dvi \
&& $(MAKE) $(AM_MAKEFLAGS) check \
&& $(MAKE) $(AM_MAKEFLAGS) install \
&& $(MAKE) $(AM_MAKEFLAGS) installcheck \
&& $(MAKE) $(AM_MAKEFLAGS) uninstall \
&& $(MAKE) $(AM_MAKEFLAGS) distuninstallcheck_dir="$$dc_install_base" \
distuninstallcheck \
&& chmod -R a-w "$$dc_install_base" \
&& ({ \
(cd ../.. && umask 077 && mkdir "$$dc_destdir") \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" install \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" uninstall \
&& $(MAKE) $(AM_MAKEFLAGS) DESTDIR="$$dc_destdir" \
distuninstallcheck_dir="$$dc_destdir" distuninstallcheck; \
} || { rm -rf "$$dc_destdir"; exit 1; }) \
&& rm -rf "$$dc_destdir" \
&& $(MAKE) $(AM_MAKEFLAGS) dist \
&& rm -rf $(DIST_ARCHIVES) \
&& $(MAKE) $(AM_MAKEFLAGS) distcleancheck
$(am__remove_distdir)
@(echo "$(distdir) archives ready for distribution: "; \
list='$(DIST_ARCHIVES)'; for i in $$list; do echo $$i; done) | \
sed -e '1{h;s/./=/g;p;x;}' -e '$${p;x;}'
distuninstallcheck:
@cd $(distuninstallcheck_dir) \
&& test `$(distuninstallcheck_listfiles) | wc -l` -le 1 \
|| { echo "ERROR: files left after uninstall:" ; \
if test -n "$(DESTDIR)"; then \
echo " (check DESTDIR support)"; \
fi ; \
$(distuninstallcheck_listfiles) ; \
exit 1; } >&2
distcleancheck: distclean
@if test '$(srcdir)' = . ; then \
echo "ERROR: distcleancheck can only run from a VPATH build" ; \
exit 1 ; \
fi
@test `$(distcleancheck_listfiles) | wc -l` -eq 0 \
|| { echo "ERROR: files left in build directory after distclean:" ; \
$(distcleancheck_listfiles) ; \
exit 1; } >&2
check-am: all-am
check: check-recursive
all-am: Makefile $(DATA)
installdirs: installdirs-recursive
installdirs-am:
for dir in "$(DESTDIR)$(pkgconfigdir)"; do \
test -z "$$dir" || $(mkdir_p) "$$dir"; \
done
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
uninstall: uninstall-recursive
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-recursive
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-recursive
clean-am: clean-generic clean-libtool mostlyclean-am
distclean: distclean-recursive
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-rm -f Makefile
distclean-am: clean-am distclean-generic distclean-libtool \
distclean-tags
dvi: dvi-recursive
dvi-am:
html: html-recursive
info: info-recursive
info-am:
install-data-am: install-pkgconfigDATA
install-exec-am:
install-info: install-info-recursive
install-man:
installcheck-am:
maintainer-clean: maintainer-clean-recursive
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
-rm -rf $(top_srcdir)/autom4te.cache
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-recursive
mostlyclean-am: mostlyclean-generic mostlyclean-libtool
pdf: pdf-recursive
pdf-am:
ps: ps-recursive
ps-am:
uninstall-am: uninstall-info-am uninstall-pkgconfigDATA
uninstall-info: uninstall-info-recursive
.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am am--refresh check \
check-am clean clean-generic clean-libtool clean-recursive \
ctags ctags-recursive dist dist-all dist-bzip2 dist-gzip \
dist-shar dist-tarZ dist-zip distcheck distclean \
distclean-generic distclean-libtool distclean-recursive \
distclean-tags distcleancheck distdir distuninstallcheck dvi \
dvi-am html html-am info info-am install install-am \
install-data install-data-am install-exec install-exec-am \
install-info install-info-am install-man install-pkgconfigDATA \
install-strip installcheck installcheck-am installdirs \
installdirs-am maintainer-clean maintainer-clean-generic \
maintainer-clean-recursive mostlyclean mostlyclean-generic \
mostlyclean-libtool mostlyclean-recursive pdf pdf-am ps ps-am \
tags tags-recursive uninstall uninstall-am uninstall-info-am \
uninstall-pkgconfigDATA
$(sha1_file): $(tar_file)
sha1sum $^ > $@
$(gpg_file): $(sha1_file)
@echo "Please enter your GPG password to sign the checksum."
gpg --armor --sign $^
release-verify-even-micro:
@echo -n "Checking that $(VERSION) has an even micro component..."
@test "$(GENERIC_MICRO_VERSION)" = "`echo $(GENERIC_MICRO_VERSION)/2*2 | bc`" \
|| (echo "Ouch." && echo "The version micro component '$(GENERIC_MICRO_VERSION)' is not an even number." \
&& echo "The version in configure.in must be incremented before a new release." \
&& false)
@echo "Good."
release-verify-newer:
@echo -n "Checking that no $(VERSION) release already exists..."
@ssh $(RELEASE_UPLOAD_HOST) test ! -e $(RELEASE_UPLOAD_DIR)/$(tar_file) \
|| (echo "Ouch." && echo "Found: $(RELEASE_UPLOAD_HOST):$(RELEASE_UPLOAD_DIR)/$(tar_file)" \
&& echo "Are you sure you have an updated git checkout?" \
&& echo "This should never happen." \
&& false)
@echo "Good."
release-remove-old:
rm -f $(tar_file) $(sha1_file) $(gpg_file)
# Maybe it's just my system, but somehow group sticky bits keep
# getting set and this causes failures in un-tarring on some systems.
# Until I figure out where the sticky bit is coming from, just clean
# these up before building a release.
release-cleanup-group-sticky:
find . -type f | xargs chmod g-s
release-check: release-verify-even-micro release-verify-newer release-remove-old release-cleanup-group-sticky distcheck
release-upload: release-check $(tar_file) $(sha1_file) $(gpg_file)
mkdir -p releases
scp $(tar_file) $(sha1_file) $(gpg_file) $(RELEASE_UPLOAD_HOST):$(RELEASE_UPLOAD_DIR)
mv $(tar_file) $(sha1_file) $(gpg_file) releases
ssh $(RELEASE_UPLOAD_HOST) "rm -f $(RELEASE_UPLOAD_DIR)/LATEST-$(PACKAGE)-[0-9]* && ln -s $(tar_file) $(RELEASE_UPLOAD_DIR)/LATEST-$(PACKAGE)-$(VERSION)"
$(GIT) tag -s -m "$(PACKAGE) release $(VERSION)" v$(VERSION)
doc-publish:
(cd docs/reference && $(MAKE) $(AM_MAKEFLAGS) publish)
release-publish: release-upload doc-publish releases/$(sha1_file)
@echo ""
@echo "Please send an announcement to $(RELEASE_ANNOUNCE_LIST)"
@echo "including the following:"
@echo ""
@echo "Subject: $(PACKAGE) release $(VERSION) now available"
@echo ""
@echo "============================== CUT HERE =============================="
@echo "cairomm is a C++ API for the cairo graphics library. For more "
@echo "information, see http://cairographics.org/cairomm"
@echo ""
@echo "A new $(PACKAGE) release $(VERSION) is now available from:"
@echo ""
@echo " $(RELEASE_URL_BASE)/$(tar_file)"
@echo ""
@echo " which can be verified with:"
@echo ""
@echo " $(RELEASE_URL_BASE)/$(sha1_file)"
@echo -n " "
@cat releases/$(sha1_file)
@echo ""
@echo " $(RELEASE_URL_BASE)/$(gpg_file)"
@echo " (signed by `getent passwd "$$USER" | cut -d: -f 5 | cut -d, -f 1`)"
@echo ""
@echo "WHAT'S NEW"
@echo "=========="
@echo ""
@echo "============================== CUT HERE =============================="
@echo "Also, please include the new entries from the NEWS file."
@echo ""
@echo "Last but not least, do not forget to bump up the micro"
@echo "version component to the next (odd) number and commit."
doc-clean-recursive:
(cd docs && $(MAKE) $(AM_MAKEFLAGS) doc-clean)
doc-clean: doc-clean-recursive
doc-rebuild:
(cd docs && $(MAKE) $(AM_MAKEFLAGS) doc-rebuild)
.PHONY: release-verify-even-micro release-verify-newer release-remove-old release-cleanup-group-sticky release-check release-upload release-publish doc-clean doc-clean-recursive doc-rebuild
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@ -1,107 +0,0 @@
1.4.6:
* Bugfixes:
- Bug #11972: Cannot build cairomm with Quartz enabled
1.4.4:
* Added the --enable-api-exceptions=yes/no configure option, to allow
cairomm to build when exceptions are disabled. For instance, when using
CXXFLAGS=-fno-exceptions with g++.
1.4.2:
* Bugfixes:
- Bug #11596: Fixed broken shared library versioning (Dave Beckett)
- Bug #8511: RefPtr: refcounting broken with cast_*() methods (Murray
Cumming)
1.4.0:
* Wrapped new API added in cairo 1.4
* Added support for Quartz surfaces
* ability to use dynamic casting for surfaces and patterns returned from
Context::get_target(), Context::get_source(), etc.
* Various build and bug fixes
1.2.4:
* Fixed an error that prevented Cairo::RefPtr<>::cast_static() and
Cairo::RefPtr<>::cast_dynamic() from compiling.
1.2.2:
* Fixed an issue when compiling on windows with MSVC
1.2.0:
* This is the first release that guarantees API and ABI stability
* Changed API:
- Context::clear_path() is now Context::begin_new_path()
- Context::new_sub_path() is now Context::begin_new_sub_path()
* new API:
- Win32Surface::get_dc()
- Win32Surface::create() for device-independent bitmaps
* Bugfixes
- fixed a memory leak where C++ wrapper objects were not being destroyed
* Fixes for compiling with MSVC (also includes project and resource files for
Visual Studio 2005. See the MSVC/ directory)
1.1.10:
* API:
- Wrap new API from cairo 1.2
- Wrap ScaledFont
* Improved Documentation
* Build fixes
0.6.0:
* API:
- enumerations are now wrapped within the Cairo namespace. So, for example,
CAIRO_FORMAT_ARGB32 becomes Cairo::FORMAT_ARGB32
* Examples: added simple text example translated from Cairo.
* Bugfixes for the Glitz and Windows backends.
* Build and installation improvements (Danilo Piazzalunga)
0.5.0:
* Surface:
- Created derived classes for PDF, PS, SVG, Glitz,
X11 and Win32 surfaces, which are only available if your copy
of cairo supports those surfaces. The X11 and Win32 Surface headers
must be #included explicitly.
(Jonathon Jongsma)
- Added write_to_png() and write_to_png_stream(), available when PNG
support is available in Cairo.
(Jonathon Jongsma)
* Examples: Added PNG, PDF, PS, and SVG Surface examples.
(Jonathon Jongsma)
* Added API documentation generation with doxygen (Jonathon Jongsma)
0.4.0:
* Add Cairo::RefPtr<> and use all reference-counted
objects via it. Use the static create() methods
instead of new for these classes.
* Context:
- Change set_dash(void) to unset_dash().
- Change rotate_deg() to rotate_degrees().
- Change identity_matrix() to set_identity_matrix().\
- Change new_path() to clear_path().
* FontFace: Remove get/set_user_data(), because it seems useless.
0.3.0:
* Context:
- Change mask_surface() to mask() and
set_source_surface() to set_source().
- Add typedef for Matrix, but a real Matrix
class would be nice.
* Pattern: Created hierarchy of classes.
* Check for errors in constructors.
* Exception: Rename to logic_error, and throw
std::bad_alloc or std::io_base::failure instead
when appropriate.
(Murray Cumming)

View File

@ -1,13 +0,0 @@
cairomm
-------------
This library provides a C++ interface to cairo.
Read the file 'INSTALL' for instructions to compile and install the library.
See the examples directory for example code.
Use pkg-config to discover the necessary include and linker arguments. For instance,
pkg-config cairomm-1.0 --cflags --libs
Ideally you would use PKG_CHECK_MODULES in your configure.ac file.
See http://www.openismus.com for generic help with that.

View File

@ -1,33 +0,0 @@
# -*- python -*-
import os
import os.path
import glob
cairomm_files = glob.glob('cairomm/*.cc')
Import('env libraries install_prefix')
cairomm = env.Clone()
cairomm.Merge([libraries['cairo']])
cairomm.Append(CXXFLAGS='-DHAVE_CONFIG_H')
libcairomm = cairomm.SharedLibrary('cairomm', cairomm_files)
Default([libcairomm])
env.Alias('install', env.Install(os.path.join(install_prefix, env['LIBDIR'], 'ardour3'), libcairomm))
env.Alias('tarball', env.Distribute (env['DISTTREE'],
[ 'SConscript',
'cairomm/cairomm.h',
'configure',
'Makefile.in',
'cairomm-1.0.pc.in',
'Makefile.in'
] +
cairomm_files +
glob.glob('cairomm/*.h')
))

7604
libs/cairomm/aclocal.m4 vendored

File diff suppressed because it is too large Load Diff

View File

@ -1,12 +0,0 @@
prefix=@prefix@
exec_prefix=@exec_prefix@
libdir=@libdir@
includedir=@includedir@
Name: cairomm
Description: C++ wrapper for cairo
Requires: cairo
Version: @VERSION@
Libs: -L${libdir} -lcairomm-1.0
Cflags: -I${includedir}/cairomm-1.0

View File

@ -1,24 +0,0 @@
SUBDIRS =
INCLUDES = -I$(top_srcdir) @CAIROMM_CFLAGS@
h_sources_public = cairomm.h context.h enums.h fontface.h fontoptions.h path.h pattern.h quartz_surface.h surface.h xlib_surface.h win32_surface.h exception.h refptr.h scaledfont.h
h_sources_private = private.h context_private.h
cc_sources = context.cc fontface.cc fontoptions.cc path.cc pattern.cc quartz_surface.cc surface.cc xlib_surface.cc win32_surface.cc exception.cc scaledfont.cc
cc_sources_private = private.cc context_surface_quartz.cc context_surface_win32.cc context_surface_xlib.cc
# Support for DLL on cygwin/mingw using libtool > 1.4
if PLATFORM_WIN32
win32_dlls_ldflags = -no-undefined -Wl,--export-all-symbols
else
win32_dlls_ldflags =
endif
lib_LTLIBRARIES = libcairomm-1.0.la
libcairomm_1_0_la_LDFLAGS = -version-info $(GENERIC_LIBRARY_VERSION) $(win32_dlls_ldflags)
libcairomm_1_0_la_LIBADD = @CAIROMM_LIBS@
libcairomm_1_0_la_SOURCES = $(cc_sources) $(h_sources_public) $(h_sources_private) $(cc_sources_private)
# Install the headers:
library_includedir=$(includedir)/cairomm-1.0/cairomm
library_include_HEADERS = $(h_sources_public)

View File

@ -1,674 +0,0 @@
# Makefile.in generated by automake 1.9.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
subdir = cairomm
DIST_COMMON = $(library_include_HEADERS) $(srcdir)/Makefile.am \
$(srcdir)/Makefile.in $(srcdir)/cairommconfig.h.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/ax_boost_base.m4 \
$(top_srcdir)/m4/ax_boost_unit_test_framework.m4 \
$(top_srcdir)/m4/reduced.m4 $(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = cairommconfig.h
CONFIG_CLEAN_FILES =
am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
am__vpath_adj = case $$p in \
$(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
*) f=$$p;; \
esac;
am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
am__installdirs = "$(DESTDIR)$(libdir)" \
"$(DESTDIR)$(library_includedir)"
libLTLIBRARIES_INSTALL = $(INSTALL)
LTLIBRARIES = $(lib_LTLIBRARIES)
libcairomm_1_0_la_DEPENDENCIES =
am__objects_1 = context.lo fontface.lo fontoptions.lo path.lo \
pattern.lo quartz_surface.lo surface.lo xlib_surface.lo \
win32_surface.lo exception.lo scaledfont.lo
am__objects_2 =
am__objects_3 = private.lo
am_libcairomm_1_0_la_OBJECTS = $(am__objects_1) $(am__objects_2) \
$(am__objects_2) $(am__objects_3)
libcairomm_1_0_la_OBJECTS = $(am_libcairomm_1_0_la_OBJECTS)
DEFAULT_INCLUDES = -I. -I$(srcdir) -I.
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
$(AM_CXXFLAGS) $(CXXFLAGS)
CXXLD = $(CXX)
CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \
$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
COMPILE = $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) \
$(CPPFLAGS) $(AM_CFLAGS) $(CFLAGS)
LTCOMPILE = $(LIBTOOL) --tag=CC --mode=compile $(CC) $(DEFS) \
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
$(AM_CFLAGS) $(CFLAGS)
CCLD = $(CC)
LINK = $(LIBTOOL) --tag=CC --mode=link $(CCLD) $(AM_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
SOURCES = $(libcairomm_1_0_la_SOURCES)
DIST_SOURCES = $(libcairomm_1_0_la_SOURCES)
RECURSIVE_TARGETS = all-recursive check-recursive dvi-recursive \
html-recursive info-recursive install-data-recursive \
install-exec-recursive install-info-recursive \
install-recursive installcheck-recursive installdirs-recursive \
pdf-recursive ps-recursive uninstall-info-recursive \
uninstall-recursive
library_includeHEADERS_INSTALL = $(INSTALL_HEADER)
HEADERS = $(library_include_HEADERS)
ETAGS = etags
CTAGS = ctags
DIST_SUBDIRS = $(SUBDIRS)
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AR = @AR@
AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AUTOTESTS_FALSE = @AUTOTESTS_FALSE@
AUTOTESTS_TRUE = @AUTOTESTS_TRUE@
AWK = @AWK@
BOOST_CPPFLAGS = @BOOST_CPPFLAGS@
BOOST_LDFLAGS = @BOOST_LDFLAGS@
BOOST_UNIT_TEST_FRAMEWORK_LIB = @BOOST_UNIT_TEST_FRAMEWORK_LIB@
CAIROMM_CFLAGS = @CAIROMM_CFLAGS@
CAIROMM_LIBS = @CAIROMM_LIBS@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
DOCS_SUBDIR = @DOCS_SUBDIR@
DOT = @DOT@
DOXYGEN = @DOXYGEN@
ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
F77 = @F77@
FFLAGS = @FFLAGS@
GENERIC_LIBRARY_VERSION = @GENERIC_LIBRARY_VERSION@
GENERIC_MAJOR_VERSION = @GENERIC_MAJOR_VERSION@
GENERIC_MICRO_VERSION = @GENERIC_MICRO_VERSION@
GENERIC_MINOR_VERSION = @GENERIC_MINOR_VERSION@
GENERIC_VERSION = @GENERIC_VERSION@
GREP = @GREP@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
LIBS = @LIBS@
LIBTOOL = @LIBTOOL@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OS_WIN32_FALSE = @OS_WIN32_FALSE@
OS_WIN32_TRUE = @OS_WIN32_TRUE@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
PLATFORM_WIN32_FALSE = @PLATFORM_WIN32_FALSE@
PLATFORM_WIN32_TRUE = @PLATFORM_WIN32_TRUE@
RANLIB = @RANLIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_F77 = @ac_ct_F77@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
SUBDIRS =
INCLUDES = -I$(top_srcdir) @CAIROMM_CFLAGS@
h_sources_public = cairomm.h context.h enums.h fontface.h fontoptions.h path.h pattern.h quartz_surface.h surface.h xlib_surface.h win32_surface.h exception.h refptr.h scaledfont.h
h_sources_private = private.h
cc_sources = context.cc fontface.cc fontoptions.cc path.cc pattern.cc quartz_surface.cc surface.cc xlib_surface.cc win32_surface.cc exception.cc scaledfont.cc
cc_sources_private = private.cc
@PLATFORM_WIN32_FALSE@win32_dlls_ldflags =
# Support for DLL on cygwin/mingw using libtool > 1.4
@PLATFORM_WIN32_TRUE@win32_dlls_ldflags = -no-undefined -Wl,--export-all-symbols
lib_LTLIBRARIES = libcairomm-1.0.la
libcairomm_1_0_la_LDFLAGS = -version-info $(GENERIC_LIBRARY_VERSION) $(win32_dlls_ldflags)
libcairomm_1_0_la_LIBADD = @CAIROMM_LIBS@
libcairomm_1_0_la_SOURCES = $(cc_sources) $(h_sources_public) $(h_sources_private) $(cc_sources_private)
# Install the headers:
library_includedir = $(includedir)/cairomm-1.0/cairomm
library_include_HEADERS = $(h_sources_public)
all: cairommconfig.h
$(MAKE) $(AM_MAKEFLAGS) all-recursive
.SUFFIXES:
.SUFFIXES: .cc .lo .o .obj
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu cairomm/Makefile'; \
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu cairomm/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
cairommconfig.h: stamp-h1
@if test ! -f $@; then \
rm -f stamp-h1; \
$(MAKE) stamp-h1; \
else :; fi
stamp-h1: $(srcdir)/cairommconfig.h.in $(top_builddir)/config.status
@rm -f stamp-h1
cd $(top_builddir) && $(SHELL) ./config.status cairomm/cairommconfig.h
$(srcdir)/cairommconfig.h.in: $(am__configure_deps)
cd $(top_srcdir) && $(AUTOHEADER)
rm -f stamp-h1
touch $@
distclean-hdr:
-rm -f cairommconfig.h stamp-h1
install-libLTLIBRARIES: $(lib_LTLIBRARIES)
@$(NORMAL_INSTALL)
test -z "$(libdir)" || $(mkdir_p) "$(DESTDIR)$(libdir)"
@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
if test -f $$p; then \
f=$(am__strip_dir) \
echo " $(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) '$$p' '$(DESTDIR)$(libdir)/$$f'"; \
$(LIBTOOL) --mode=install $(libLTLIBRARIES_INSTALL) $(INSTALL_STRIP_FLAG) "$$p" "$(DESTDIR)$(libdir)/$$f"; \
else :; fi; \
done
uninstall-libLTLIBRARIES:
@$(NORMAL_UNINSTALL)
@set -x; list='$(lib_LTLIBRARIES)'; for p in $$list; do \
p=$(am__strip_dir) \
echo " $(LIBTOOL) --mode=uninstall rm -f '$(DESTDIR)$(libdir)/$$p'"; \
$(LIBTOOL) --mode=uninstall rm -f "$(DESTDIR)$(libdir)/$$p"; \
done
clean-libLTLIBRARIES:
-test -z "$(lib_LTLIBRARIES)" || rm -f $(lib_LTLIBRARIES)
@list='$(lib_LTLIBRARIES)'; for p in $$list; do \
dir="`echo $$p | sed -e 's|/[^/]*$$||'`"; \
test "$$dir" != "$$p" || dir=.; \
echo "rm -f \"$${dir}/so_locations\""; \
rm -f "$${dir}/so_locations"; \
done
libcairomm-1.0.la: $(libcairomm_1_0_la_OBJECTS) $(libcairomm_1_0_la_DEPENDENCIES)
$(CXXLINK) -rpath $(libdir) $(libcairomm_1_0_la_LDFLAGS) $(libcairomm_1_0_la_OBJECTS) $(libcairomm_1_0_la_LIBADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/context.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/exception.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fontface.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/fontoptions.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/path.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/pattern.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/private.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/quartz_surface.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/scaledfont.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/surface.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/win32_surface.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/xlib_surface.Plo@am__quote@
.cc.o:
@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
.cc.obj:
@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
.cc.lo:
@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
distclean-libtool:
-rm -f libtool
uninstall-info-am:
install-library_includeHEADERS: $(library_include_HEADERS)
@$(NORMAL_INSTALL)
test -z "$(library_includedir)" || $(mkdir_p) "$(DESTDIR)$(library_includedir)"
@list='$(library_include_HEADERS)'; for p in $$list; do \
if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
f=$(am__strip_dir) \
echo " $(library_includeHEADERS_INSTALL) '$$d$$p' '$(DESTDIR)$(library_includedir)/$$f'"; \
$(library_includeHEADERS_INSTALL) "$$d$$p" "$(DESTDIR)$(library_includedir)/$$f"; \
done
uninstall-library_includeHEADERS:
@$(NORMAL_UNINSTALL)
@list='$(library_include_HEADERS)'; for p in $$list; do \
f=$(am__strip_dir) \
echo " rm -f '$(DESTDIR)$(library_includedir)/$$f'"; \
rm -f "$(DESTDIR)$(library_includedir)/$$f"; \
done
# This directory's subdirectories are mostly independent; you can cd
# into them and run `make' without going through this Makefile.
# To change the values of `make' variables: instead of editing Makefiles,
# (1) if the variable is set in `config.status', edit `config.status'
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS):
@failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
*k*) failcom='fail=yes';; \
esac; \
done; \
dot_seen=no; \
target=`echo $@ | sed s/-recursive//`; \
list='$(SUBDIRS)'; for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
dot_seen=yes; \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done; \
if test "$$dot_seen" = "no"; then \
$(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
fi; test -z "$$fail"
mostlyclean-recursive clean-recursive distclean-recursive \
maintainer-clean-recursive:
@failcom='exit 1'; \
for f in x $$MAKEFLAGS; do \
case $$f in \
*=* | --[!k]*);; \
*k*) failcom='fail=yes';; \
esac; \
done; \
dot_seen=no; \
case "$@" in \
distclean-* | maintainer-clean-*) list='$(DIST_SUBDIRS)' ;; \
*) list='$(SUBDIRS)' ;; \
esac; \
rev=''; for subdir in $$list; do \
if test "$$subdir" = "."; then :; else \
rev="$$subdir $$rev"; \
fi; \
done; \
rev="$$rev ."; \
target=`echo $@ | sed s/-recursive//`; \
for subdir in $$rev; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" = "."; then \
local_target="$$target-am"; \
else \
local_target="$$target"; \
fi; \
(cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
|| eval $$failcom; \
done && test -z "$$fail"
tags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
done
ctags-recursive:
list='$(SUBDIRS)'; for subdir in $$list; do \
test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) ctags); \
done
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: tags-recursive $(HEADERS) $(SOURCES) cairommconfig.h.in $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
if ($(ETAGS) --etags-include --version) >/dev/null 2>&1; then \
include_option=--etags-include; \
empty_fix=.; \
else \
include_option=--include; \
empty_fix=; \
fi; \
list='$(SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test ! -f $$subdir/TAGS || \
tags="$$tags $$include_option=$$here/$$subdir/TAGS"; \
fi; \
done; \
list='$(SOURCES) $(HEADERS) cairommconfig.h.in $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique; \
fi
ctags: CTAGS
CTAGS: ctags-recursive $(HEADERS) $(SOURCES) cairommconfig.h.in $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) cairommconfig.h.in $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& cd $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \
case $$file in \
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
esac; \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \
$(mkdir_p) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
if test -d $$d/$$file; then \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
list='$(DIST_SUBDIRS)'; for subdir in $$list; do \
if test "$$subdir" = .; then :; else \
test -d "$(distdir)/$$subdir" \
|| $(mkdir_p) "$(distdir)/$$subdir" \
|| exit 1; \
distdir=`$(am__cd) $(distdir) && pwd`; \
top_distdir=`$(am__cd) $(top_distdir) && pwd`; \
(cd $$subdir && \
$(MAKE) $(AM_MAKEFLAGS) \
top_distdir="$$top_distdir" \
distdir="$$distdir/$$subdir" \
distdir) \
|| exit 1; \
fi; \
done
check-am: all-am
check: check-recursive
all-am: Makefile $(LTLIBRARIES) $(HEADERS) cairommconfig.h
installdirs: installdirs-recursive
installdirs-am:
for dir in "$(DESTDIR)$(libdir)" "$(DESTDIR)$(library_includedir)"; do \
test -z "$$dir" || $(mkdir_p) "$$dir"; \
done
install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
uninstall: uninstall-recursive
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-recursive
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-recursive
clean-am: clean-generic clean-libLTLIBRARIES clean-libtool \
mostlyclean-am
distclean: distclean-recursive
-rm -rf ./$(DEPDIR)
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-hdr distclean-libtool distclean-tags
dvi: dvi-recursive
dvi-am:
html: html-recursive
info: info-recursive
info-am:
install-data-am: install-library_includeHEADERS
install-exec-am: install-libLTLIBRARIES
install-info: install-info-recursive
install-man:
installcheck-am:
maintainer-clean: maintainer-clean-recursive
-rm -rf ./$(DEPDIR)
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-recursive
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
mostlyclean-libtool
pdf: pdf-recursive
pdf-am:
ps: ps-recursive
ps-am:
uninstall-am: uninstall-info-am uninstall-libLTLIBRARIES \
uninstall-library_includeHEADERS
uninstall-info: uninstall-info-recursive
.PHONY: $(RECURSIVE_TARGETS) CTAGS GTAGS all all-am check check-am \
clean clean-generic clean-libLTLIBRARIES clean-libtool \
clean-recursive ctags ctags-recursive distclean \
distclean-compile distclean-generic distclean-hdr \
distclean-libtool distclean-recursive distclean-tags distdir \
dvi dvi-am html html-am info info-am install install-am \
install-data install-data-am install-exec install-exec-am \
install-info install-info-am install-libLTLIBRARIES \
install-library_includeHEADERS install-man install-strip \
installcheck installcheck-am installdirs installdirs-am \
maintainer-clean maintainer-clean-generic \
maintainer-clean-recursive mostlyclean mostlyclean-compile \
mostlyclean-generic mostlyclean-libtool mostlyclean-recursive \
pdf pdf-am ps ps-am tags tags-recursive uninstall uninstall-am \
uninstall-info-am uninstall-libLTLIBRARIES \
uninstall-library_includeHEADERS
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@ -1,43 +0,0 @@
/* Copyright (C) 2005 The cairomm Development Team
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
*/
#ifndef __CAIROMM_H
#define __CAIROMM_H
/** @mainpage Cairomm: A C++ wrapper for the cairo graphics library
*
* @section License
* Cairomm is available under the terms of the LGPL license
*
* @section Introduction
* If you're just beginning to learn cairomm, a good place to start is with the
* Cairo::Surface and Cairo::Context classes. In general terms, you draw onto
* a Surface using the graphics settings specified in your Context.
*
*/
#include <cairomm/context.h>
#include <cairomm/surface.h>
#include <cairomm/fontoptions.h>
#include <cairomm/pattern.h>
#include <cairomm/path.h>
#include <cairomm/enums.h>
#endif //__CAIROMM_H
// vim: ts=2 sw=2 et

View File

@ -1,73 +0,0 @@
/* cairomm/cairommconfig.h.in. Generated from configure.in by autoheader. */
/* Defined when the --enable-api-exceptions configure argument was given */
#undef CAIROMM_EXCEPTIONS_ENABLED
/* define if the Boost library is available */
#undef HAVE_BOOST
/* define if the Boost::Unit_Test_Framework library is available */
#undef HAVE_BOOST_UNIT_TEST_FRAMEWORK
/* Define to 1 if you have the <dlfcn.h> header file. */
#undef HAVE_DLFCN_H
/* Define to 1 if you have the <inttypes.h> header file. */
#undef HAVE_INTTYPES_H
/* Define to 1 if you have the <list> header file. */
#undef HAVE_LIST
/* Define to 1 if you have the <map> header file. */
#undef HAVE_MAP
/* Define to 1 if you have the <memory.h> header file. */
#undef HAVE_MEMORY_H
/* Define to 1 if you have the <stdint.h> header file. */
#undef HAVE_STDINT_H
/* Define to 1 if you have the <stdlib.h> header file. */
#undef HAVE_STDLIB_H
/* Define to 1 if you have the <string> header file. */
#undef HAVE_STRING
/* Define to 1 if you have the <strings.h> header file. */
#undef HAVE_STRINGS_H
/* Define to 1 if you have the <string.h> header file. */
#undef HAVE_STRING_H
/* Define to 1 if you have the <sys/stat.h> header file. */
#undef HAVE_SYS_STAT_H
/* Define to 1 if you have the <sys/types.h> header file. */
#undef HAVE_SYS_TYPES_H
/* Define to 1 if you have the <unistd.h> header file. */
#undef HAVE_UNISTD_H
/* Name of package */
#undef PACKAGE
/* Define to the address where bug reports for this package should be sent. */
#undef PACKAGE_BUGREPORT
/* Define to the full name of this package. */
#undef PACKAGE_NAME
/* Define to the full name and version of this package. */
#undef PACKAGE_STRING
/* Define to the one symbol short name of this package. */
#undef PACKAGE_TARNAME
/* Define to the version of this package. */
#undef PACKAGE_VERSION
/* Define to 1 if you have the ANSI C header files. */
#undef STDC_HEADERS
/* Version number of package */
#undef VERSION

View File

@ -1,797 +0,0 @@
/* Copyright (C) 2005 The cairomm Development Team
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
*/
#include <cairomm/context.h>
#include <cairomm/context_private.h>
#include <cairomm/private.h>
#include <cairomm/surface.h>
/* M_PI is defined in math.h in the case of Microsoft Visual C++ */
#if defined(_MSC_VER)
#define _USE_MATH_DEFINES
#include <math.h>
#endif
using namespace Cairo::Private;
namespace Cairo
{
Context::Context(const RefPtr<Surface>& target)
: m_cobject(0)
{
m_cobject = cairo_create(target->cobj());
check_object_status_and_throw_exception(*this);
}
RefPtr<Context> Context::create(const RefPtr<Surface>& target)
{
return RefPtr<Context>(new Context(target));
}
Context::Context(cairo_t* cobject, bool has_reference)
: m_cobject(0)
{
if(has_reference)
m_cobject = cobject;
else
m_cobject = cairo_reference(cobject);
}
Context::~Context()
{
if(m_cobject)
cairo_destroy(m_cobject);
}
void Context::reference() const
{
cairo_reference(m_cobject);
}
void Context::unreference() const
{
cairo_destroy(m_cobject);
}
void Context::save()
{
cairo_save(m_cobject);
check_object_status_and_throw_exception(*this);
}
void Context::restore()
{
cairo_restore(m_cobject);
check_object_status_and_throw_exception(*this);
}
void Context::set_operator(Operator op)
{
cairo_set_operator(m_cobject, static_cast<cairo_operator_t>(op));
check_object_status_and_throw_exception(*this);
}
void Context::set_source(const RefPtr<const Pattern>& source)
{
cairo_set_source(m_cobject, const_cast<cairo_pattern_t*>(source->cobj()));
check_object_status_and_throw_exception(*this);
}
void Context::set_source_rgb(double red, double green, double blue)
{
cairo_set_source_rgb(m_cobject, red, green, blue);
check_object_status_and_throw_exception(*this);
}
void Context::set_source_rgba(double red, double green, double blue,
double alpha)
{
cairo_set_source_rgba(m_cobject, red, green, blue, alpha);
check_object_status_and_throw_exception(*this);
}
void Context::set_source(const RefPtr<Surface>& surface, double x, double y)
{
cairo_set_source_surface(m_cobject, surface->cobj(), x, y);
check_object_status_and_throw_exception(*this);
}
void Context::set_tolerance(double tolerance)
{
cairo_set_tolerance(m_cobject, tolerance);
check_object_status_and_throw_exception(*this);
}
void Context::set_antialias(Antialias antialias)
{
cairo_set_antialias(m_cobject, static_cast<cairo_antialias_t>(antialias));
check_object_status_and_throw_exception(*this);
}
void Context::set_fill_rule(FillRule fill_rule)
{
cairo_set_fill_rule(m_cobject, static_cast<cairo_fill_rule_t>(fill_rule));
check_object_status_and_throw_exception(*this);
}
void Context::set_line_width(double width)
{
cairo_set_line_width(m_cobject, width);
check_object_status_and_throw_exception(*this);
}
void Context::set_line_cap(LineCap line_cap)
{
cairo_set_line_cap(m_cobject, static_cast<cairo_line_cap_t>(line_cap));
check_object_status_and_throw_exception(*this);
}
void Context::set_line_join(LineJoin line_join)
{
cairo_set_line_join(m_cobject, static_cast<cairo_line_join_t>(line_join));
check_object_status_and_throw_exception(*this);
}
void Context::set_dash(std::valarray<double>& dashes, double offset)
{
cairo_set_dash(m_cobject, &dashes[0], dashes.size(), offset);
check_object_status_and_throw_exception(*this);
}
void Context::set_dash(std::vector<double>& dashes, double offset)
{
cairo_set_dash(m_cobject, &dashes[0], dashes.size(), offset);
check_object_status_and_throw_exception(*this);
}
void Context::unset_dash()
{
cairo_set_dash(m_cobject, NULL, 0, 0.0);
check_object_status_and_throw_exception(*this);
}
void Context::set_miter_limit(double limit)
{
cairo_set_miter_limit(m_cobject, limit);
check_object_status_and_throw_exception(*this);
}
void Context::translate(double tx, double ty)
{
cairo_translate(m_cobject, tx, ty);
check_object_status_and_throw_exception(*this);
}
void Context::scale(double sx, double sy)
{
cairo_scale(m_cobject, sx, sy);
check_object_status_and_throw_exception(*this);
}
void Context::rotate(double angle_radians)
{
cairo_rotate(m_cobject, angle_radians);
check_object_status_and_throw_exception(*this);
}
void Context::rotate_degrees(double angle_degrees)
{
cairo_rotate(m_cobject, angle_degrees * M_PI/180.0);
check_object_status_and_throw_exception(*this);
}
void Context::transform(const Matrix& matrix)
{
cairo_transform(m_cobject, &matrix);
check_object_status_and_throw_exception(*this);
}
void Context::set_matrix(const Matrix& matrix)
{
cairo_set_matrix(m_cobject, &matrix);
check_object_status_and_throw_exception(*this);
}
void Context::set_identity_matrix()
{
cairo_identity_matrix(m_cobject);
check_object_status_and_throw_exception(*this);
}
void Context::user_to_device(double& x, double& y)
{
cairo_user_to_device(m_cobject, &x, &y);
check_object_status_and_throw_exception(*this);
}
void Context::user_to_device_distance(double& dx, double& dy)
{
cairo_user_to_device_distance(m_cobject, &dx, &dy);
check_object_status_and_throw_exception(*this);
}
void Context::device_to_user(double& x, double& y)
{
cairo_device_to_user(m_cobject, &x, &y);
check_object_status_and_throw_exception(*this);
}
void Context::device_to_user_distance(double& dx, double& dy)
{
cairo_device_to_user_distance(m_cobject, &dx, &dy);
check_object_status_and_throw_exception(*this);
}
void Context::begin_new_path()
{
cairo_new_path(m_cobject);
check_object_status_and_throw_exception(*this);
}
void Context::begin_new_sub_path()
{
cairo_new_sub_path(m_cobject);
check_object_status_and_throw_exception(*this);
}
void Context::move_to(double x, double y)
{
cairo_move_to(m_cobject, x, y);
check_object_status_and_throw_exception(*this);
}
void Context::line_to(double x, double y)
{
cairo_line_to(m_cobject, x, y);
check_object_status_and_throw_exception(*this);
}
void Context::curve_to(double x1, double y1, double x2, double y2, double x3, double y3)
{
cairo_curve_to(m_cobject, x1, y1, x2, y2, x3, y3);
check_object_status_and_throw_exception(*this);
}
void Context::arc(double xc, double yc, double radius, double angle1, double angle2)
{
cairo_arc(m_cobject, xc, yc, radius, angle1, angle2);
check_object_status_and_throw_exception(*this);
}
void Context::arc_negative(double xc, double yc, double radius, double angle1, double angle2)
{
cairo_arc_negative(m_cobject, xc, yc, radius, angle1, angle2);
check_object_status_and_throw_exception(*this);
}
void Context::rel_move_to(double dx, double dy)
{
cairo_rel_move_to(m_cobject, dx, dy);
check_object_status_and_throw_exception(*this);
}
void Context::rel_line_to(double dx, double dy)
{
cairo_rel_line_to(m_cobject, dx, dy);
check_object_status_and_throw_exception(*this);
}
void Context::rel_curve_to(double dx1, double dy1, double dx2, double dy2, double dx3, double dy3)
{
cairo_rel_curve_to(m_cobject, dx1, dy1, dx2, dy2, dx3, dy3);
check_object_status_and_throw_exception(*this);
}
void Context::rectangle(double x, double y, double width, double height)
{
cairo_rectangle(m_cobject, x, y, width, height);
check_object_status_and_throw_exception(*this);
}
void Context::close_path()
{
cairo_close_path(m_cobject);
check_object_status_and_throw_exception(*this);
}
void Context::paint()
{
cairo_paint(m_cobject);
check_object_status_and_throw_exception(*this);
}
void Context::paint_with_alpha(double alpha)
{
cairo_paint_with_alpha(m_cobject, alpha);
check_object_status_and_throw_exception(*this);
}
void Context::mask(const RefPtr<const Pattern>& pattern)
{
cairo_mask(m_cobject, const_cast<cairo_pattern_t*>(pattern->cobj()));
check_object_status_and_throw_exception(*this);
}
void Context::mask(const RefPtr<const Surface>& surface, double surface_x, double surface_y)
{
cairo_mask_surface(m_cobject, const_cast<cairo_surface_t*>(surface->cobj()), surface_x, surface_y);
check_object_status_and_throw_exception(*this);
}
void Context::stroke()
{
cairo_stroke(m_cobject);
check_object_status_and_throw_exception(*this);
}
void Context::stroke_preserve()
{
cairo_stroke_preserve(m_cobject);
check_object_status_and_throw_exception(*this);
}
void Context::fill()
{
cairo_fill(m_cobject);
check_object_status_and_throw_exception(*this);
}
void Context::fill_preserve()
{
cairo_fill_preserve(m_cobject);
check_object_status_and_throw_exception(*this);
}
void Context::copy_page()
{
cairo_copy_page(m_cobject);
check_object_status_and_throw_exception(*this);
}
void Context::show_page()
{
cairo_show_page(m_cobject);
check_object_status_and_throw_exception(*this);
}
bool Context::in_stroke(double x, double y) const
{
const bool result = cairo_in_stroke(m_cobject, x, y);
check_object_status_and_throw_exception(*this);
return result;
}
bool Context::in_fill(double x, double y) const
{
const bool result = cairo_in_fill(m_cobject, x, y);
check_object_status_and_throw_exception(*this);
return result;
}
void Context::get_stroke_extents(double& x1, double& y1, double& x2, double& y2) const
{
cairo_stroke_extents(m_cobject, &x1, &y1, &x2, &y2);
check_object_status_and_throw_exception(*this);
}
void Context::get_fill_extents(double& x1, double& y1, double& x2, double& y2) const
{
cairo_fill_extents(m_cobject, &x1, &y1, &x2, &y2);
check_object_status_and_throw_exception(*this);
}
void Context::reset_clip()
{
cairo_reset_clip(m_cobject);
check_object_status_and_throw_exception(*this);
}
void Context::clip()
{
cairo_clip(m_cobject);
check_object_status_and_throw_exception(*this);
}
void Context::clip_preserve()
{
cairo_clip_preserve(m_cobject);
check_object_status_and_throw_exception(*this);
}
void Context::get_clip_extents(double& x1, double& y1, double& x2, double& y2) const
{
cairo_clip_extents(const_cast<cairo_t*>(m_cobject), &x1, &y1, &x2, &y2);
check_object_status_and_throw_exception(*this);
}
void Context::copy_clip_rectangle_list(std::vector<Rectangle>& rectangles) const
{
cairo_rectangle_list_t* c_list = 0;
// It would be nice if the cairo interface didn't copy it into a C array first
// and just let us do the copying...
c_list = cairo_copy_clip_rectangle_list(const_cast<cairo_t*>(m_cobject));
// the rectangle list contains a status field that we need to check and the
// cairo context also has a status that we need to check
// FIXME: do we want to throw an exception if the clip can't be represented by
// rectangles? or do we just want to return an empty list?
check_status_and_throw_exception(c_list->status);
check_object_status_and_throw_exception(*this);
// copy the C array into the passed C++ list
rectangles.assign(c_list->rectangles,
c_list->rectangles + c_list->num_rectangles);
// free the memory allocated to the C array since we've copied it into a
// standard C++ container
cairo_rectangle_list_destroy(c_list);
}
void Context::select_font_face(const std::string& family, FontSlant slant, FontWeight weight)
{
cairo_select_font_face(m_cobject, family.c_str(),
static_cast<cairo_font_slant_t>(slant),
static_cast<cairo_font_weight_t>(weight));
check_object_status_and_throw_exception(*this);
}
void Context::set_font_size(double size)
{
cairo_set_font_size(m_cobject, size);
check_object_status_and_throw_exception(*this);
}
void Context::set_font_matrix(const Matrix& matrix)
{
cairo_set_font_matrix(m_cobject, &matrix);
check_object_status_and_throw_exception(*this);
}
void Context::get_font_matrix(Matrix& matrix) const
{
cairo_get_font_matrix(m_cobject, &matrix);
check_object_status_and_throw_exception(*this);
}
void Context::set_font_options(const FontOptions& options)
{
cairo_set_font_options(m_cobject, options.cobj());
check_object_status_and_throw_exception(*this);
}
void Context::show_text(const std::string& utf8)
{
cairo_show_text(m_cobject, utf8.c_str());
check_object_status_and_throw_exception(*this);
}
void Context::show_glyphs(const std::vector<Glyph>& glyphs)
{
cairo_show_glyphs(m_cobject, const_cast<cairo_glyph_t*>(&glyphs[0]), glyphs.size());
check_object_status_and_throw_exception(*this);
}
RefPtr<FontFace> Context::get_font_face()
{
cairo_font_face_t* cfontface = cairo_get_font_face(m_cobject);
check_object_status_and_throw_exception(*this);
return RefPtr<FontFace>(new FontFace(cfontface, false /* does not have reference */));
}
RefPtr<const FontFace> Context::get_font_face() const
{
cairo_font_face_t* cfontface = cairo_get_font_face(m_cobject);
check_object_status_and_throw_exception(*this);
return RefPtr<const FontFace>(new FontFace(cfontface, false /* does not have reference */));
}
void Context::get_font_extents(FontExtents& extents) const
{
cairo_font_extents(m_cobject, &extents);
check_object_status_and_throw_exception(*this);
}
void Context::set_font_face(const RefPtr<const FontFace>& font_face)
{
cairo_set_font_face(m_cobject, const_cast<cairo_font_face_t*>(font_face->cobj()));
check_object_status_and_throw_exception(*this);
}
void Context::get_text_extents(const std::string& utf8, TextExtents& extents) const
{
cairo_text_extents(m_cobject, utf8.c_str(), &extents);
check_object_status_and_throw_exception(*this);
}
void Context::get_glyph_extents(const std::vector<Glyph>& glyphs, TextExtents& extents) const
{
cairo_glyph_extents(m_cobject, const_cast<cairo_glyph_t*>(&glyphs[0]), glyphs.size(), &extents);
check_object_status_and_throw_exception(*this);
}
void Context::text_path(const std::string& utf8)
{
cairo_text_path(m_cobject, utf8.c_str());
check_object_status_and_throw_exception(*this);
}
void Context::glyph_path(const std::vector<Glyph>& glyphs)
{
cairo_glyph_path(m_cobject, const_cast<cairo_glyph_t*>(&glyphs[0]), glyphs.size());
check_object_status_and_throw_exception(*this);
}
Operator Context::get_operator() const
{
const Operator result = static_cast<Operator>(cairo_get_operator(m_cobject));
check_object_status_and_throw_exception(*this);
return result;
}
static RefPtr<Pattern> get_pattern_wrapper (cairo_pattern_t* pattern)
{
cairo_pattern_type_t pattern_type = cairo_pattern_get_type (pattern);
switch (pattern_type)
{
case CAIRO_PATTERN_TYPE_SOLID:
return RefPtr<SolidPattern>(new SolidPattern(pattern, false /* does not have reference */));
break;
case CAIRO_PATTERN_TYPE_SURFACE:
return RefPtr<SurfacePattern>(new SurfacePattern(pattern, false /* does not have reference */));
break;
case CAIRO_PATTERN_TYPE_LINEAR:
return RefPtr<LinearGradient>(new LinearGradient(pattern, false /* does not have reference */));
break;
case CAIRO_PATTERN_TYPE_RADIAL:
return RefPtr<RadialGradient>(new RadialGradient(pattern, false /* does not have reference */));
break;
default:
return RefPtr<Pattern>(new Pattern(pattern, false /* does not have reference */));
}
}
RefPtr<Pattern> Context::get_source()
{
cairo_pattern_t* pattern = cairo_get_source(m_cobject);
check_object_status_and_throw_exception(*this);
return get_pattern_wrapper (pattern);
}
RefPtr<const Pattern> Context::get_source() const
{
cairo_pattern_t* pattern = cairo_get_source(m_cobject);
check_object_status_and_throw_exception(*this);
return RefPtr<const Pattern>::cast_const (get_pattern_wrapper (pattern));
}
double Context::get_tolerance() const
{
const double result = cairo_get_tolerance(m_cobject);
check_object_status_and_throw_exception(*this);
return result;
}
Antialias Context::get_antialias() const
{
const Antialias result = static_cast<Antialias>(cairo_get_antialias(m_cobject));
check_object_status_and_throw_exception(*this);
return result;
}
void Context::get_current_point(double& x, double& y) const
{
cairo_get_current_point(m_cobject, &x, &y);
check_object_status_and_throw_exception(*this);
}
FillRule Context::get_fill_rule() const
{
const FillRule result = static_cast<FillRule>(cairo_get_fill_rule(m_cobject));
check_object_status_and_throw_exception(*this);
return result;
}
double Context::get_line_width() const
{
const double result = cairo_get_line_width(m_cobject);
check_object_status_and_throw_exception(*this);
return result;
}
LineCap Context::get_line_cap() const
{
const LineCap result = static_cast<LineCap>(cairo_get_line_cap(m_cobject));
check_object_status_and_throw_exception(*this);
return result;
}
LineJoin Context::get_line_join() const
{
const LineJoin result = static_cast<LineJoin>(cairo_get_line_join(m_cobject));
check_object_status_and_throw_exception(*this);
return result;
}
double Context::get_miter_limit() const
{
const double result = cairo_get_miter_limit(m_cobject);
check_object_status_and_throw_exception(*this);
return result;
}
void
Context::get_dash(std::vector<double>& dashes, double& offset) const
{
// Allocate this array dynamically because some compilers complain about
// allocating arrays on the stack when the array size isn't a compile-time
// constant...
const int cnt = cairo_get_dash_count(m_cobject);
double* dash_array = new double[cnt];
cairo_get_dash(const_cast<cairo_t*>(m_cobject), dash_array, &offset);
check_object_status_and_throw_exception(*this);
dashes.assign(dash_array, dash_array + cnt);
delete[] dash_array;
}
void Context::get_matrix(Matrix& matrix)
{
cairo_get_matrix(m_cobject, &matrix);
check_object_status_and_throw_exception(*this);
}
static
RefPtr<Surface> get_surface_wrapper (cairo_surface_t* surface)
{
cairo_surface_type_t surface_type = cairo_surface_get_type (surface);
switch (surface_type)
{
case CAIRO_SURFACE_TYPE_IMAGE:
return RefPtr<ImageSurface>(new ImageSurface(surface, false /* does not have reference */));
break;
#if CAIRO_HAS_PDF_SURFACE
case CAIRO_SURFACE_TYPE_PDF:
return RefPtr<PdfSurface>(new PdfSurface(surface, false /* does not have reference */));
break;
#endif
#if CAIRO_HAS_PS_SURFACE
case CAIRO_SURFACE_TYPE_PS:
return RefPtr<PsSurface>(new PsSurface(surface, false /* does not have reference */));
break;
#endif
#if CAIRO_HAS_XLIB_SURFACE
case CAIRO_SURFACE_TYPE_XLIB:
return wrap_surface_xlib(surface);
break;
#endif
#if CAIRO_HAS_GLITZ_SURFACE
case CAIRO_SURFACE_TYPE_GLITZ:
return RefPtr<GlitzSurface>(new GlitzSurface(surface, false /* does not have reference */));
break;
#endif
#if CAIRO_HAS_QUARTZ_SURFACE
case CAIRO_SURFACE_TYPE_QUARTZ:
return wrap_surface_quartz(surface);
break;
#endif
#if CAIRO_HAS_WIN32_SURFACE
case CAIRO_SURFACE_TYPE_WIN32:
return wrap_surface_win32(surface);
break;
#endif
#if CAIRO_HAS_SVG_SURFACE
case CAIRO_SURFACE_TYPE_SVG:
return RefPtr<SvgSurface>(new SvgSurface(surface, false /* does not have reference */));
break;
#endif
// the following surfaces are not directly supported in cairomm yet
case CAIRO_SURFACE_TYPE_DIRECTFB:
case CAIRO_SURFACE_TYPE_OS2:
case CAIRO_SURFACE_TYPE_BEOS:
case CAIRO_SURFACE_TYPE_XCB:
default:
return RefPtr<Surface>(new Surface(surface, false /* does not have reference */));
}
}
RefPtr<Surface> Context::get_target()
{
cairo_surface_t* surface = cairo_get_target(const_cast<cairo_t*>(m_cobject));
check_object_status_and_throw_exception(*this);
return get_surface_wrapper (surface);
}
RefPtr<const Surface> Context::get_target() const
{
cairo_surface_t* surface = cairo_get_target(const_cast<cairo_t*>(m_cobject));
check_object_status_and_throw_exception(*this);
return RefPtr<const Surface>::cast_const (get_surface_wrapper (surface));
}
Path* Context::copy_path() const
{
cairo_path_t* cresult = cairo_copy_path(const_cast<cairo_t*>(m_cobject));
check_object_status_and_throw_exception(*this);
return new Path(cresult, true /* take ownership */); //The caller must delete it.
}
Path* Context::copy_path_flat() const
{
cairo_path_t* cresult = cairo_copy_path_flat(const_cast<cairo_t*>(m_cobject));
check_object_status_and_throw_exception(*this);
return new Path(cresult, true /* take ownership */); //The caller must delete it.
}
void Context::append_path(const Path& path)
{
cairo_append_path(m_cobject, const_cast<cairo_path_t*>(path.cobj()));
check_object_status_and_throw_exception(*this);
}
void Context::push_group()
{
cairo_push_group(m_cobject);
check_object_status_and_throw_exception(*this);
}
void Context::push_group_with_content(Content content)
{
cairo_push_group_with_content(m_cobject, static_cast<cairo_content_t>(content));
check_object_status_and_throw_exception(*this);
}
RefPtr<Pattern> Context::pop_group()
{
cairo_pattern_t* pattern = cairo_pop_group(m_cobject);
check_object_status_and_throw_exception(*this);
return get_pattern_wrapper(pattern);
}
void Context::pop_group_to_source()
{
cairo_pop_group_to_source(m_cobject);
check_object_status_and_throw_exception(*this);
}
RefPtr<Surface> Context::get_group_target()
{
cairo_surface_t* surface = cairo_get_group_target(m_cobject);
// surface can be NULL if you're not between push/pop group calls
if(!surface)
{
// FIXME: is this really the right way to handle this?
throw_exception(CAIRO_STATUS_NULL_POINTER);
}
return get_surface_wrapper(surface);
}
RefPtr<const Surface> Context::get_group_target() const
{
cairo_surface_t* surface = cairo_get_group_target(m_cobject);
// surface can be NULL if you're not between push/pop group calls
if(!surface)
{
// FIXME: is this really the right way to handle this?
throw_exception(CAIRO_STATUS_NULL_POINTER);
}
return get_surface_wrapper(surface);
}
} //namespace Cairo
// vim: ts=2 sw=2 et

View File

@ -1,978 +0,0 @@
/* Copyright (C) 2005 The cairomm Development Team
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
*/
#ifndef __CAIROMM_CONTEXT_H
#define __CAIROMM_CONTEXT_H
#include <vector>
#include <utility>
#include <cairomm/surface.h>
#include <cairomm/fontface.h>
#include <cairomm/pattern.h>
#include <cairomm/path.h>
#include <valarray>
#include <vector>
#include <cairo.h>
namespace Cairo
{
typedef cairo_glyph_t Glyph; //A simple struct.
typedef cairo_font_extents_t FontExtents; //A simple struct.
typedef cairo_text_extents_t TextExtents; //A simple struct.
typedef cairo_matrix_t Matrix; //A simple struct. //TODO: Derive and add operator[] and operator. matrix multiplication?
typedef cairo_rectangle_t Rectangle;
/** Context is the main class used to draw in cairomm.
* In the simplest case, create a Context with its target Surface, set its
* drawing options (line width, color, etc), create shapes with methods like
* move_to() and line_to(), and then draw the shapes to the Surface using
* methods such as stroke() or fill().
*
* Context is a reference-counted object that should be used via Cairo::RefPtr.
*/
class Context
{
protected:
explicit Context(const RefPtr<Surface>& target);
public:
/** Create a C++ wrapper for the C instance. This C++ instance should then be
* given to a RefPtr.
*
* @param cobject The C instance.
* @param has_reference Whether we already have a reference. Otherwise, the
* constructor will take an extra reference.
*/
explicit Context(cairo_t* cobject, bool has_reference = false);
static RefPtr<Context> create(const RefPtr<Surface>& target);
virtual ~Context();
/** Makes a copy of the current state of the Context and saves it on an
* internal stack of saved states. When restore() is called, it will be
* restored to the saved state. Multiple calls to save() and restore() can be
* nested; each call to restore() restores the state from the matching paired
* save().
*
* It isn't necessary to clear all saved states before a cairo_t is freed.
* Any saved states will be freed when the Context is destroyed.
*
* @sa restore()
*/
void save();
/** Restores cr to the state saved by a preceding call to save() and removes
* that state from the stack of saved states.
*
* @sa save()
*/
void restore();
/** Sets the compositing operator to be used for all drawing operations. See
* Operator for details on the semantics of each available compositing
* operator.
*
* @param op a compositing operator, specified as a Operator
*/
void set_operator(Operator op);
/** Sets the source pattern within the Context to source. This Pattern will
* then be used for any subsequent drawing operation until a new source
* pattern is set.
*
* Note: The Pattern's transformation matrix will be locked to the user space
* in effect at the time of set_source(). This means that further
* modifications of the current transformation matrix will not affect the
* source pattern.
*
* @param source a Pattern to be used as the source for subsequent drawing
* operations.
*
* @sa Pattern::set_matrix()
* @sa set_source_rgb()
* @sa set_source_rgba()
* @sa set_source(const RefPtr<Surface>& surface, double x, double y)
*/
void set_source(const RefPtr<const Pattern>& source);
/** Sets the source pattern within the Context to an opaque color. This
* opaque color will then be used for any subsequent drawing operation until
* a new source pattern is set.
*
* The color components are floating point numbers in the range 0 to 1. If
* the values passed in are outside that range, they will be clamped.
*
* @param red red component of color
* @param green green component of color
* @param blue blue component of color
*
* @sa set_source_rgba()
* @sa set_source()
*/
void set_source_rgb(double red, double green, double blue);
/** Sets the source pattern within the Context to a translucent color. This
* color will then be used for any subsequent drawing operation until a new
* source pattern is set.
*
* The color and alpha components are floating point numbers in the range 0
* to 1. If the values passed in are outside that range, they will be
* clamped.
*
* @param red red component of color
* @param green green component of color
* @param blue blue component of color
* @param alpha alpha component of color
*
* @sa set_source_rgb()
* @sa set_source()
*/
void set_source_rgba(double red, double green, double blue, double alpha);
/** This is a convenience function for creating a pattern from a Surface and
* setting it as the source
*
* The x and y parameters give the user-space coordinate at which the Surface
* origin should appear. (The Surface origin is its upper-left corner before
* any transformation has been applied.) The x and y patterns are negated and
* then set as translation values in the pattern matrix.
*
* Other than the initial translation pattern matrix, as described above, all
* other pattern attributes, (such as its extend mode), are set to the
* default values as in Context::create(const RefPtr<Surface>& target). The
* resulting pattern can be queried with get_source() so that these
* attributes can be modified if desired, (eg. to create a repeating pattern
* with Pattern::set_extend()).
*
* @param surface : a Surface to be used to set the source pattern
* @param x : User-space X coordinate for surface origin
* @param y : User-space Y coordinate for surface origin
*/
void set_source(const RefPtr<Surface>& surface, double x, double y);
/** Sets the tolerance used when converting paths into trapezoids. Curved
* segments of the path will be subdivided until the maximum deviation
* between the original path and the polygonal approximation is less than
* tolerance. The default value is 0.1. A larger value will give better
* performance, a smaller value, better appearance. (Reducing the value from
* the default value of 0.1 is unlikely to improve appearance significantly.)
*
* @param tolerance the tolerance, in device units (typically pixels)
*/
void set_tolerance(double tolerance);
/** Set the antialiasing mode of the rasterizer used for drawing shapes. This
* value is a hint, and a particular backend may or may not support a
* particular value. At the current time, no backend supports
* CAIRO_ANTIALIAS_SUBPIXEL when drawing shapes.
*
* Note that this option does not affect text rendering, instead see
* FontOptions::set_antialias().
*
* @param antialias the new antialiasing mode
*/
void set_antialias(Antialias antialias);
/** Set the current fill rule within the cairo Context. The fill rule is used
* to determine which regions are inside or outside a complex (potentially
* self-intersecting) path. The current fill rule affects both fill() and
* clip(). See FillRule for details on the semantics of each available fill
* rule.
*
* @param fill_rule a fill rule, specified as a FillRule
*/
void set_fill_rule(FillRule fill_rule);
/** Sets the current line width within the cairo Context. The line width
* specifies the diameter of a pen that is circular in user-space.
*
* As with the other stroke parameters, the current line cap style is
* examined by stroke(), stroke_extents(), and stroke_to_path(), but does not
* have any effect during path construction.
*
* @param width a line width, as a user-space value
*/
void set_line_width(double width);
/** Sets the current line cap style within the cairo Context. See
* LineCap for details about how the available line cap styles are drawn.
*
* As with the other stroke parameters, the current line cap style is
* examined by stroke(), stroke_extents(), and stroke_to_path(), but does not
* have any effect during path construction.
*
* @param line_cap a line cap style, as a LineCap
*/
void set_line_cap(LineCap line_cap);
/** Sets the current line join style within the cairo Context. See LineJoin
* for details about how the available line join styles are drawn.
*
* As with the other stroke parameters, the current line join style is
* examined by stroke(), stroke_extents(), and stroke_to_path(), but does not
* have any effect during path construction.
*
* @param line_join a line joint style, as a LineJoin
*/
void set_line_join(LineJoin line_join);
/**
* Alternate version of set_dash(). You'll probably want to use the one that
* takes a std::vector argument instead.
*/
void set_dash(std::valarray<double>& dashes, double offset);
/** Sets the dash pattern to be used by stroke(). A dash pattern is specified
* by dashes, an array of positive values. Each value provides the user-space
* length of altenate "on" and "off" portions of the stroke. The offset
* specifies an offset into the pattern at which the stroke begins.
*
* If dashes is empty dashing is disabled. If the size of dashes is 1, a
* symmetric pattern is assumed with alternating on and off portions of the
* size specified by the single value in dashes.
*
* It is invalid for any value in dashes to be negative, or for all values to
* be 0. If this is the case, an exception will be thrown
*
* @param dashes an array specifying alternate lengths of on and off portions
* @param offset an offset into the dash pattern at which the stroke should start
*
* @exception
*/
void set_dash(std::vector<double>& dashes, double offset);
/** This function disables a dash pattern that was set with set_dash()
*/
void unset_dash();
void set_miter_limit(double limit);
/** Modifies the current transformation matrix (CTM) by translating the
* user-space origin by (tx, ty). This offset is interpreted as a user-space
* coordinate according to the CTM in place before the new call to
* cairo_translate. In other words, the translation of the user-space origin
* takes place after any existing transformation.
*
* @param tx amount to translate in the X direction
* @param ty amount to translate in the Y direction
*/
void translate(double tx, double ty);
/** Modifies the current transformation matrix (CTM) by scaling the X and Y
* user-space axes by sx and sy respectively. The scaling of the axes takes
* place after any existing transformation of user space.
*
* @param sx scale factor for the X dimension
* @param sy scale factor for the Y dimension
*/
void scale(double sx, double sy);
/** Modifies the current transformation matrix (CTM) by rotating the
* user-space axes by angle radians. The rotation of the axes takes places
* after any existing transformation of user space. The rotation direction
* for positive angles is from the positive X axis toward the positive Y
* axis.
*
* @param angle angle (in radians) by which the user-space axes will be
* rotated
*/
void rotate(double angle_radians);
/** A convenience wrapper around rotate() that accepts angles in degrees
*
* @param angle_degrees angle (in degrees) by which the user-space axes
* should be rotated
*/
void rotate_degrees(double angle_degres);
/** Modifies the current transformation matrix (CTM) by applying matrix as an
* additional transformation. The new transformation of user space takes
* place after any existing transformation.
*
* @param matrix a transformation to be applied to the user-space axes
*/
void transform(const Matrix& matrix);
/** Modifies the current transformation matrix (CTM) by setting it equal to
* matrix.
*
* @param matrix a transformation matrix from user space to device space
*/
void set_matrix(const Matrix& matrix);
/** Resets the current transformation matrix (CTM) by setting it equal to the
* identity matrix. That is, the user-space and device-space axes will be
* aligned and one user-space unit will transform to one device-space unit.
*/
void set_identity_matrix();
/** Transform a coordinate from user space to device space by multiplying the
* given point by the current transformation matrix (CTM).
*
* @param x X value of coordinate (in/out parameter)
* @param y Y value of coordinate (in/out parameter)
*/
void user_to_device(double& x, double& y);
/** Transform a distance vector from user space to device space. This
* function is similar to user_to_device() except that the translation
* components of the CTM will be ignored when transforming (dx,dy).
*
* @param dx X component of a distance vector (in/out parameter)
* @param dy Y component of a distance vector (in/out parameter)
*/
void user_to_device_distance(double& dx, double& dy);
/** Transform a coordinate from device space to user space by multiplying the
* given point by the inverse of the current transformation matrix (CTM).
*
* @param x X value of coordinate (in/out parameter)
* @param y Y value of coordinate (in/out parameter)
*/
void device_to_user(double& x, double& y);
/** Transform a distance vector from device space to user space. This
* function is similar to device_to_user() except that the translation
* components of the inverse CTM will be ignored when transforming (dx,dy).
*
* @param dx X component of a distance vector (in/out parameter)
* @param dy Y component of a distance vector (in/out parameter)
*/
void device_to_user_distance(double& dx, double& dy);
/** Clears the current path. After this call there will be no current point.
*/
void begin_new_path();
/** Begin a new subpath. Note that the existing path is not affected. After
* this call there will be no current point.
*
* In many cases, this call is not needed since new subpaths are frequently
* started with move_to().
*
* A call to begin_new_sub_path() is particularly useful when beginning a new
* subpath with one of the arc() calls. This makes things easier as it is no
* longer necessary to manually compute the arc's initial coordinates for a
* call to move_to().
*/
void begin_new_sub_path();
/** If the current subpath is not empty, begin a new subpath. After this call
* the current point will be (x, y).
*
* @param x the X coordinate of the new position
* @param y the Y coordinate of the new position
*/
void move_to(double x, double y);
/** Adds a line to the path from the current point to position (x, y) in
* user-space coordinates. After this call the current point will be (x, y).
*
* @param x the X coordinate of the end of the new line
* @param y the Y coordinate of the end of the new line
*/
void line_to(double x, double y);
/** Adds a cubic Bezier spline to the path from the current point to position
* (x3, y3) in user-space coordinates, using (x1, y1) and (x2, y2) as the
* control points. After this call the current point will be (x3, y3).
*
* @param x1 the X coordinate of the first control point
* @param y1 the Y coordinate of the first control point
* @param x2 the X coordinate of the second control point
* @param y2 the Y coordinate of the second control point
* @param x3 the X coordinate of the end of the curve
* @param y3 the Y coordinate of the end of the curve
*/
void curve_to(double x1, double y1, double x2, double y2, double x3, double y3);
/** Adds a circular arc of the given radius to the current path. The arc is
* centered at (xc, yc), begins at angle1 and proceeds in the direction of
* increasing angles to end at angle2. If angle2 is less than angle1 it will
* be progressively increased by 2*M_PI until it is greater than angle1.
*
* If there is a current point, an initial line segment will be added to the
* path to connect the current point to the beginning of the arc.
*
* Angles are measured in radians. An angle of 0 is in the direction of the
* positive X axis (in user-space). An angle of M_PI radians (90 degrees) is
* in the direction of the positive Y axis (in user-space). Angles increase
* in the direction from the positive X axis toward the positive Y axis. So
* with the default transformation matrix, angles increase in a clockwise
* direction.
*
* (To convert from degrees to radians, use degrees * (M_PI / 180.).)
*
* This function gives the arc in the direction of increasing angles; see
* arc_negative() to get the arc in the direction of decreasing angles.
*
* The arc is circular in user-space. To achieve an elliptical arc, you can
* scale the current transformation matrix by different amounts in the X and
* Y directions. For example, to draw an ellipse in the box given by x, y,
* width, height:
*
* @code
* context->save();
* context->translate(x, y);
* context->scale(width / 2.0, height / 2.0);
* context->arc(0.0, 0.0, 1.0, 0.0, 2 * M_PI);
* context->restore();
* @endcode
*
* @param xc X position of the center of the arc
* @param yc Y position of the center of the arc
* @param radius the radius of the arc
* @param angle1 the start angle, in radians
* @param angle2 the end angle, in radians
*/
void arc(double xc, double yc, double radius, double angle1, double angle2);
/** Adds a circular arc of the given radius to the current path. The arc is
* centered at (xc, yc), begins at angle1 and proceeds in the direction of
* decreasing angles to end at angle2. If angle2 is greater than angle1 it
* will be progressively decreased by 2*M_PI until it is greater than angle1.
*
* See arc() for more details. This function differs only in the direction of
* the arc between the two angles.
*
* @param xc X position of the center of the arc
* @param yc Y position of the center of the arc
* @param radius the radius of the arc
* @param angle1 the start angle, in radians
* @param angle2 the end angle, in radians
*/
void arc_negative(double xc, double yc, double radius, double angle1, double angle2);
/** If the current subpath is not empty, begin a new subpath. After this call
* the current point will offset by (x, y).
*
* Given a current point of (x, y),
* @code
* rel_move_to(dx, dy)
* @endcode
* is logically equivalent to
* @code
* move_to(x + dx, y + dy)
* @endcode
*
* @param dx the X offset
* @param dy the Y offset
*/
void rel_move_to(double dx, double dy);
/** Relative-coordinate version of line_to(). Adds a line to the path from
* the current point to a point that is offset from the current point by (dx,
* dy) in user space. After this call the current point will be offset by
* (dx, dy).
*
* Given a current point of (x, y),
* @code
* rel_line_to(dx, dy)
* @endcode
* is logically equivalent to
* @code
* line_to(x + dx, y + dy).
* @endcode
*
* @param dx the X offset to the end of the new line
* @param dy the Y offset to the end of the new line
*/
void rel_line_to(double dx, double dy);
/** Relative-coordinate version of curve_to(). All offsets are relative to
* the current point. Adds a cubic Bezier spline to the path from the current
* point to a point offset from the current point by (dx3, dy3), using points
* offset by (dx1, dy1) and (dx2, dy2) as the control points. After this
* call the current point will be offset by (dx3, dy3).
*
* Given a current point of (x, y),
* @code
* rel_curve_to(dx1, dy1, dx2, dy2, dx3, dy3)
* @endcode
* is logically equivalent to
* @code
* curve_to(x + dx1, y + dy1, x + dx2, y + dy2, x + dx3, y + dy3).
* @endcode
*
* @param dx1 the X offset to the first control point
* @param dy1 the Y offset to the first control point
* @param dx2 the X offset to the second control point
* @param dy2 the Y offset to the second control point
* @param dx3 the X offset to the end of the curve
* @param dy3 the Y offset to the end of the curve
*/
void rel_curve_to(double dx1, double dy1, double dx2, double dy2, double dx3, double dy3);
/** Adds a closed-subpath rectangle of the given size to the current path at
* position (x, y) in user-space coordinates.
*
* This function is logically equivalent to:
*
* @code
* context->move_to(x, y);
* context->rel_line_to(width, 0);
* context->rel_line_to(0, height);
* context->rel_line_to(-width, 0);
* context->close_path();
* @endcode
*
* @param x the X coordinate of the top left corner of the rectangle
* @param y the Y coordinate to the top left corner of the rectangle
* @param width the width of the rectangle
* @param height the height of the rectangle
*/
void rectangle(double x, double y, double width, double height);
/** Adds a line segment to the path from the current point to the beginning
* of the current subpath, (the most recent point passed to move_to()), and
* closes this subpath.
*
* The behavior of close_path() is distinct from simply calling line_to()
* with the equivalent coordinate in the case of stroking. When a closed
* subpath is stroked, there are no caps on the ends of the subpath. Instead,
* there is a line join connecting the final and initial segments of the
* subpath.
*/
void close_path();
/** A drawing operator that paints the current source everywhere within the
* current clip region.
*/
void paint();
/** A drawing operator that paints the current source everywhere within the
* current clip region using a mask of constant alpha value alpha. The effect
* is similar to paint(), but the drawing is faded out using the alpha
* value.
*
* @param alpha an alpha value, between 0 (transparent) and 1 (opaque)
*/
void paint_with_alpha(double alpha);
/** A drawing operator that paints the current source using the alpha channel
* of pattern as a mask. (Opaque areas of mask are painted with the source,
* transparent areas are not painted.)
*
* @param pattern a Pattern
*/
void mask(const RefPtr<const Pattern>& pattern);
/** A drawing operator that paints the current source using the alpha channel
* of surface as a mask. (Opaque areas of surface are painted with the
* source, transparent areas are not painted.)
*
* @param surface a Surface
* @param surface_x X coordinate at which to place the origin of surface
* @param surface_y Y coordinate at which to place the origin of surface
*/
void mask(const RefPtr<const Surface>& surface, double surface_x, double surface_y);
/** A drawing operator that strokes the current Path according to the current
* line width, line join, line cap, and dash settings. After stroke(),
* the current Path will be cleared from the cairo Context.
*
* @sa set_line_width()
* @sa set_line_join()
* @sa set_line_cap()
* @sa set_dash()
* @sa stroke_preserve().
*/
void stroke();
/** A drawing operator that strokes the current Path according to the current
* line width, line join, line cap, and dash settings. Unlike stroke(),
* stroke_preserve() preserves the Path within the cairo Context.
*
* @sa set_line_width()
* @sa set_line_join()
* @sa set_line_cap()
* @sa set_dash()
* @sa stroke_preserve().
*/
void stroke_preserve();
/** A drawing operator that fills the current path according to the current
* fill rule, (each sub-path is implicitly closed before being filled). After
* fill(), the current path will be cleared from the cairo context.
*
* @sa set_fill_rule()
* @sa fill_preserve()
*/
void fill();
/** A drawing operator that fills the current path according to the current
* fill rule, (each sub-path is implicitly closed before being filled).
* Unlike fill(), fill_preserve() preserves the path within the
* cairo Context.
*
* @sa set_fill_rule()
* @sa fill().
*/
void fill_preserve();
void copy_page();
void show_page();
bool in_stroke(double x, double y) const;
bool in_fill(double x, double y) const;
void get_stroke_extents(double& x1, double& y1, double& x2, double& y2) const;
void get_fill_extents(double& x1, double& y1, double& x2, double& y2) const;
/** Reset the current clip region to its original, unrestricted state. That
* is, set the clip region to an infinitely large shape containing the target
* surface. Equivalently, if infinity is too hard to grasp, one can imagine
* the clip region being reset to the exact bounds of the target surface.
*
* Note that code meant to be reusable should not call reset_clip() as it
* will cause results unexpected by higher-level code which calls clip().
* Consider using save() and restore() around clip() as a more robust means
* of temporarily restricting the clip region.
*/
void reset_clip();
/** Establishes a new clip region by intersecting the current clip region
* with the current Path as it would be filled by fill() and according to the
* current fill rule.
*
* After clip(), the current path will be cleared from the cairo Context.
*
* The current clip region affects all drawing operations by effectively
* masking out any changes to the surface that are outside the current clip
* region.
*
* Calling clip() can only make the clip region smaller, never larger. But
* the current clip is part of the graphics state, so a temporary restriction
* of the clip region can be achieved by calling cairo_clip() within a
* save()/restore() pair. The only other means of increasing the size of the
* clip region is reset_clip().
*
* @sa set_fill_rule()
*/
void clip();
/** Establishes a new clip region by intersecting the current clip region
* with the current path as it would be filled by fill() and according to the
* current fill rule.
*
* Unlike clip(), cairo_clip_preserve preserves the path within the cairo
* Context.
*
* @sa clip()
* @sa set_fill_rule()
*/
void clip_preserve();
/**
* Computes a bounding box in user coordinates covering the area inside the
* current clip.
*
* @param x1 left of the resulting extents
* @param y1 top of the resulting extents
* @param x2 right of the resulting extents
* @param y2 bottom of the resulting extents
*
* @since 1.4
**/
void get_clip_extents(double& x1, double& y1, double& x2, double& y2) const;
/**
* Returns the current clip region as a list of rectangles in user coordinates.
*
* This function will throw an exception if the clip region cannot be
* represented as a list of user-space rectangles.
*
* @Since 1.4
**/
void copy_clip_rectangle_list(std::vector<Rectangle>& rectangles) const;
void select_font_face(const std::string& family, FontSlant slant, FontWeight weight);
void set_font_size(double size);
void set_font_matrix(const Matrix& matrix);
void get_font_matrix(Matrix& matrix) const;
void set_font_options(const FontOptions& options);
void show_text(const std::string& utf8);
void show_glyphs(const std::vector<Glyph>& glyphs);
RefPtr<FontFace> get_font_face();
RefPtr<const FontFace> get_font_face() const;
void get_font_extents(FontExtents& extents) const;
void set_font_face(const RefPtr<const FontFace>& font_face);
void get_text_extents(const std::string& utf8, TextExtents& extents) const;
void get_glyph_extents(const std::vector<Glyph>& glyphs, TextExtents& extents) const;
void text_path(const std::string& utf8);
void glyph_path(const std::vector<Glyph>& glyphs);
/** Gets the current compositing operator for a cairo Context
*/
Operator get_operator() const;
/** Gets the current source pattern for the Context
*/
RefPtr<Pattern> get_source();
RefPtr<const Pattern> get_source() const;
/** Gets the current tolerance value, as set by set_tolerance()
*/
double get_tolerance() const;
/** Gets the current shape antialiasing mode, as set by set_antialias()
*/
Antialias get_antialias() const;
/** Gets the current point of the current path, which is conceptually the
* final point reached by the path so far.
*
* The current point is returned in the user-space coordinate system. If
* there is no defined current point then x and y will both be set to 0.0.
*
* Most path construction functions alter the current point. See the
* following for details on how they affect the current point: clear_path(),
* move_to(), line_to(), curve_to(), arc(), rel_move_to(), rel_line_to(),
* rel_curve_to(), arc(), and text_path()
*
* @param x return value for X coordinate of the current point
* @param y return value for Y coordinate of the current point
*/
void get_current_point (double& x, double& y) const;
/** Gets the current fill rule, as set by set_fill_rule().
*/
FillRule get_fill_rule() const;
/** Gets the current line width, as set by set_line_width()
*/
double get_line_width() const;
/** Gets the current line cap style, as set by set_line_cap()
*/
LineCap get_line_cap() const;
/** Gets the current line join style, as set by set_line_join()
*/
LineJoin get_line_join() const;
/** Gets the current miter limit, as set by set_miter_limit()
*/
double get_miter_limit() const;
/**
* Gets the current dash array and offset.
*
* @param dashes return value for the dash array
* @param offset return value for the current dash offset
*
* Since: 1.4
**/
void get_dash(std::vector<double>& dashes, double& offset) const;
/** Stores the current transformation matrix (CTM) into matrix.
*
* @param matrix return value for the matrix
*/
void get_matrix(Matrix& matrix);
/** Gets the target surface associated with this Context.
*
* @exception
*/
RefPtr<Surface> get_target();
/** Gets the target surface associated with this Context.
*
* @exception
*/
RefPtr<const Surface> get_target() const;
//TODO: Copy or reference-count a Path somethow instead of asking the caller to delete it?
/** Creates a copy of the current path and returns it to the user.
*
* @todo See cairo_path_data_t for hints on how to iterate over the returned
* data structure.
*
* @note The caller owns the Path object returned from this function. The
* Path object must be freed when you are finished with it.
*/
Path* copy_path() const;
/** Gets a flattened copy of the current path and returns it to the user
*
* @todo See cairo_path_data_t for hints on how to iterate over the returned
* data structure.
*
* This function is like copy_path() except that any curves in the path will
* be approximated with piecewise-linear approximations, (accurate to within
* the current tolerance value). That is, the result is guaranteed to not have
* any elements of type CAIRO_PATH_CURVE_TO which will instead be
* replaced by a series of CAIRO_PATH_LINE_TO elements.
*
* @note The caller owns the Path object returned from this function. The
* Path object must be freed when you are finished with it.
*/
Path* copy_path_flat() const;
/** Append the path onto the current path. The path may be either the return
* value from one of copy_path() or copy_path_flat() or it may be constructed
* manually.
*
* @param path path to be appended
*/
void append_path(const Path& path);
/** Temporarily redirects drawing to an intermediate surface known as a group.
* The redirection lasts until the group is completed by a call to pop_group()
* or pop_group_to_source(). These calls provide the result of any drawing to
* the group as a pattern, (either as an explicit object, or set as the source
* pattern).
*
* This group functionality can be convenient for performing intermediate
* compositing. One common use of a group is to render objects as opaque
* within the group, (so that they occlude each other), and then blend the
* result with translucence onto the destination.
*
* Groups can be nested arbitrarily deep by making balanced calls to
* push_group()/pop_group(). Each call pushes/pops the new target group
* onto/from a stack.
*
* The push_group() function calls save() so that any changes to the graphics
* state will not be visible outside the group, (the pop_group functions call
* restore()).
*
* By default the intermediate group will have a content type of
* CONTENT_COLOR_ALPHA. Other content types can be chosen for the group by
* using push_group_with_content() instead.
*
* As an example, here is how one might fill and stroke a path with
* translucence, but without any portion of the fill being visible under the
* stroke:
*
* @code
* cr->push_group();
* cr->set_source(fill_pattern);
* cr->fill_preserve();
* cr->set_source(stroke_pattern);
* cr->stroke();
* cr->pop_group_to_source();
* cr->paint_with_alpha(alpha);
* @endcode
*/
void push_group();
/**
* Temporarily redirects drawing to an intermediate surface known as a
* group. The redirection lasts until the group is completed by a call
* to pop_group() or pop_group_to_source(). These calls provide the result of
* any drawing to the group as a pattern, (either as an explicit object, or set
* as the source pattern).
*
* The group will have a content type of @content. The ability to control this
* content type is the only distinction between this function and push_group()
* which you should see for a more detailed description of group rendering.
*
* @param content: indicates the type of group that will be created
*/
void push_group_with_content(Content content);
/**
* Terminates the redirection begun by a call to push_group() or
* push_group_with_content() and returns a new pattern containing the results
* of all drawing operations performed to the group.
*
* The pop_group() function calls restore(), (balancing a call to save() by
* the push_group function), so that any changes to the graphics state will
* not be visible outside the group.
*
* @return a (surface) pattern containing the results of all drawing
* operations performed to the group.
**/
RefPtr<Pattern> pop_group();
/**
* Terminates the redirection begun by a call to push_group() or
* push_group_with_content() and installs the resulting pattern as the source
* pattern in the given cairo Context.
*
* The behavior of this function is equivalent to the sequence of operations:
*
* @code
* RefPtr<Pattern> group = cr->pop_group();
* cr->set_source(group);
* @endcode
*
* but is more convenient as their is no need for a variable to store
* the short-lived pointer to the pattern.
*
* The pop_group() function calls restore(), (balancing a call to save() by
* the push_group function), so that any changes to the graphics state will
* not be visible outside the group.
**/
void pop_group_to_source();
/**
* Gets the target surface for the current group as started by the most recent
* call to push_group() or push_group_with_content().
*
* This function will return NULL if called "outside" of any group rendering
* blocks, (that is, after the last balancing call to pop_group() or
* pop_group_to_source()).
*
* @exception
*
**/
RefPtr<Surface> get_group_target();
/**
* Same as the non-const version but returns a reference to a const Surface
*/
RefPtr<const Surface> get_group_target() const;
/** The base cairo C type that is wrapped by Cairo::Context
*/
typedef cairo_t cobject;
/** Gets a pointer to the base C type that is wrapped by the Context
*/
inline cobject* cobj() { return m_cobject; }
/** Gets a pointer to the base C type that is wrapped by the Context
*/
inline const cobject* cobj() const { return m_cobject; }
#ifndef DOXYGEN_IGNORE_THIS
///For use only by the cairomm implementation.
inline ErrorStatus get_status() const
{ return cairo_status(const_cast<cairo_t*>(cobj())); }
void reference() const;
void unreference() const;
#endif //DOXYGEN_IGNORE_THIS
protected:
cobject* m_cobject;
};
RefPtr<Surface> get_surface_quartz(cairo_surface_t*);
RefPtr<Surface> get_surface_win32(cairo_surface_t*);
RefPtr<Surface> get_surface_xlib(cairo_surface_t*);
} // namespace Cairo
#endif //__CAIROMM_CONTEXT_H
// vim: ts=2 sw=2 et

View File

@ -1,47 +0,0 @@
/* Copyright (C) 2008 The cairomm Development Team
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
*/
#ifndef __CAIROMM_CONTEXT_PRIVATE_H
#define __CAIROMM_CONTEXT_PRIVATE_H
#ifdef ENABLE_GCC_VISIBILITY
#define VISIBILITY_HIDDEN __attribute__ ((visibility("hidden")))
#else
#define VISIBILITY_HIDDEN
#endif
#include <cairomm/refptr.h>
#include <cairomm/surface.h>
namespace Cairo
{
namespace Private
{
VISIBILITY_HIDDEN RefPtr<Surface> wrap_surface_quartz(cairo_surface_t*);
VISIBILITY_HIDDEN RefPtr<Surface> wrap_surface_win32(cairo_surface_t*);
VISIBILITY_HIDDEN RefPtr<Surface> wrap_surface_xlib(cairo_surface_t*);
} // namespace Private
} // namespace Cairo
#endif // __CAIROMM_CONTEXT_PRIVATE_H
// vim: ts=2 sw=2 et

View File

@ -1,42 +0,0 @@
/* Copyright (C) 2008 The cairomm Development Team
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
*/
#include <cairomm/cairommconfig.h.in>
#include <cairomm/context_private.h>
#include <cairomm/quartz_surface.h>
namespace Cairo
{
namespace Private
{
VISIBILITY_HIDDEN RefPtr<Surface> wrap_surface_quartz(cairo_surface_t* surface)
{
#if CAIRO_HAS_QUARTZ_SURFACE
return RefPtr<QuartzSurface>(new QuartzSurface(surface, false /* does not have reference */));
#else
return RefPtr<Surface>(new Surface(surface, false /* does not have reference */));
#endif
}
} // namespace Private
} // namespace Cairo
// vim: ts=2 sw=2 et

View File

@ -1,42 +0,0 @@
/* Copyright (C) 2008 The cairomm Development Team
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
*/
#include <cairomm/cairommconfig.h.in>
#include <cairomm/context_private.h>
#include <cairomm/win32_surface.h>
namespace Cairo
{
namespace Private
{
VISIBILITY_HIDDEN RefPtr<Surface> wrap_surface_win32(cairo_surface_t* surface)
{
#if CAIRO_HAS_WIN32_SURFACE
return RefPtr<Win32Surface>(new Win32Surface(surface, false /* does not have reference */));
#else
return RefPtr<Surface>(new Surface(surface, false /* does not have reference */));
#endif
}
} // namespace Private
} // namespace Cairo
// vim: ts=2 sw=2 et

View File

@ -1,42 +0,0 @@
/* Copyright (C) 2008 The cairomm Development Team
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
*/
#include <cairomm/cairommconfig.h.in>
#include <cairomm/context_private.h>
#include <cairomm/xlib_surface.h>
namespace Cairo
{
namespace Private
{
VISIBILITY_HIDDEN RefPtr<Surface> wrap_surface_xlib(cairo_surface_t* surface)
{
#if CAIRO_HAS_WIN32_SURFACE
return RefPtr<XlibSurface>(new XlibSurface(surface, false /* does not have reference */));
#else
return RefPtr<Surface>(new Surface(surface, false /* does not have reference */));
#endif
}
} // namespace Private
} // namespace Cairo
// vim: ts=2 sw=2 et

View File

@ -1,202 +0,0 @@
/* Copyright (C) 2005 The cairomm Development Team
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
*/
#ifndef __CAIROMM_ENUMS_H
#define __CAIROMM_ENUMS_H
#include <cairo.h>
namespace Cairo
{
#ifndef DOXYGEN_IGNORE_THIS
//This is only used internally, but it must be in a public header because we inline some methods.
typedef cairo_status_t ErrorStatus;
#endif //DOXYGEN_IGNORE_THIS
typedef enum
{
OPERATOR_CLEAR = CAIRO_OPERATOR_CLEAR,
OPERATOR_SOURCE = CAIRO_OPERATOR_SOURCE,
OPERATOR_OVER = CAIRO_OPERATOR_OVER,
OPERATOR_IN = CAIRO_OPERATOR_IN,
OPERATOR_OUT = CAIRO_OPERATOR_OUT,
OPERATOR_ATOP = CAIRO_OPERATOR_ATOP,
OPERATOR_DEST = CAIRO_OPERATOR_DEST,
OPERATOR_DEST_OVER = CAIRO_OPERATOR_DEST_OVER,
OPERATOR_DEST_IN = CAIRO_OPERATOR_DEST_IN,
OPERATOR_DEST_OUT = CAIRO_OPERATOR_DEST_OUT,
OPERATOR_DEST_ATOP = CAIRO_OPERATOR_DEST_ATOP,
OPERATOR_XOR = CAIRO_OPERATOR_XOR,
OPERATOR_ADD = CAIRO_OPERATOR_ADD,
OPERATOR_SATURATE = CAIRO_OPERATOR_SATURATE
} Operator;
typedef enum
{
ANTIALIAS_DEFAULT = CAIRO_ANTIALIAS_DEFAULT,
ANTIALIAS_NONE = CAIRO_ANTIALIAS_NONE,
ANTIALIAS_GRAY = CAIRO_ANTIALIAS_GRAY,
ANTIALIAS_SUBPIXEL = CAIRO_ANTIALIAS_SUBPIXEL
} Antialias;
typedef enum
{
FILL_RULE_WINDING = CAIRO_FILL_RULE_WINDING,
FILL_RULE_EVEN_ODD = CAIRO_FILL_RULE_EVEN_ODD
} FillRule;
typedef enum
{
LINE_CAP_BUTT = CAIRO_LINE_CAP_BUTT,
LINE_CAP_ROUND = CAIRO_LINE_CAP_ROUND,
LINE_CAP_SQUARE = CAIRO_LINE_CAP_SQUARE
} LineCap;
typedef enum
{
LINE_JOIN_MITER = CAIRO_LINE_JOIN_MITER,
LINE_JOIN_ROUND = CAIRO_LINE_JOIN_ROUND,
LINE_JOIN_BEVEL = CAIRO_LINE_JOIN_BEVEL
} LineJoin;
typedef enum
{
FONT_SLANT_NORMAL = CAIRO_FONT_SLANT_NORMAL,
FONT_SLANT_ITALIC = CAIRO_FONT_SLANT_ITALIC,
FONT_SLANT_OBLIQUE = CAIRO_FONT_SLANT_OBLIQUE
} FontSlant;
typedef enum
{
FONT_WEIGHT_NORMAL = CAIRO_FONT_WEIGHT_NORMAL,
FONT_WEIGHT_BOLD = CAIRO_FONT_WEIGHT_BOLD
} FontWeight;
typedef enum
{
CONTENT_COLOR = CAIRO_CONTENT_COLOR,
CONTENT_ALPHA = CAIRO_CONTENT_ALPHA,
CONTENT_COLOR_ALPHA = CAIRO_CONTENT_COLOR_ALPHA
} Content;
typedef enum
{
FORMAT_ARGB32 = CAIRO_FORMAT_ARGB32,
FORMAT_RGB24 = CAIRO_FORMAT_RGB24,
FORMAT_A8 = CAIRO_FORMAT_A8,
FORMAT_A1 = CAIRO_FORMAT_A1,
FORMAT_RGB16_565 = CAIRO_FORMAT_RGB16_565 /* @< @deprecated This format value is deprecated. It has never been properly implemented in cairo and is unnecessary. */
} Format;
typedef enum
{
EXTEND_NONE = CAIRO_EXTEND_NONE,
EXTEND_REPEAT = CAIRO_EXTEND_REPEAT,
EXTEND_REFLECT = CAIRO_EXTEND_REFLECT,
#if CAIRO_VERSION >= CAIRO_VERSION_ENCODE(1,1,1)
EXTEND_PAD = CAIRO_EXTEND_PAD
#endif /* CAIRO_VERSION > CAIRO_VERSION_ENCODE(1,1,1) */
} Extend;
typedef enum
{
FILTER_FAST = CAIRO_FILTER_FAST,
FILTER_GOOD = CAIRO_FILTER_GOOD,
FILTER_BEST = CAIRO_FILTER_BEST,
FILTER_NEAREST = CAIRO_FILTER_NEAREST,
FILTER_BILINEAR = CAIRO_FILTER_BILINEAR,
FILTER_GAUSSIAN = CAIRO_FILTER_GAUSSIAN
} Filter;
typedef enum
{
SUBPIXEL_ORDER_DEFAULT = CAIRO_SUBPIXEL_ORDER_DEFAULT,
SUBPIXEL_ORDER_RGB = CAIRO_SUBPIXEL_ORDER_RGB,
SUBPIXEL_ORDER_BGR = CAIRO_SUBPIXEL_ORDER_BGR,
SUBPIXEL_ORDER_VRGB = CAIRO_SUBPIXEL_ORDER_VRGB,
SUBPIXEL_ORDER_VBGR = CAIRO_SUBPIXEL_ORDER_VBGR
} SubpixelOrder;
typedef enum
{
HINT_STYLE_DEFAULT = CAIRO_HINT_STYLE_DEFAULT,
HINT_STYLE_NONE = CAIRO_HINT_STYLE_NONE,
HINT_STYLE_SLIGHT = CAIRO_HINT_STYLE_SLIGHT,
HINT_STYLE_MEDIUM = CAIRO_HINT_STYLE_MEDIUM,
HINT_STYLE_FULL = CAIRO_HINT_STYLE_FULL
} HintStyle;
typedef enum
{
HINT_METRICS_DEFAULT = CAIRO_HINT_METRICS_DEFAULT,
HINT_METRICS_OFF = CAIRO_HINT_METRICS_OFF,
HINT_METRICS_ON = CAIRO_HINT_METRICS_ON
} HintMetrics;
typedef enum
{
SURFACE_TYPE_IMAGE = CAIRO_SURFACE_TYPE_IMAGE,
SURFACE_TYPE_PDF = CAIRO_SURFACE_TYPE_PDF,
SURFACE_TYPE_PS = CAIRO_SURFACE_TYPE_PS,
SURFACE_TYPE_XLIB = CAIRO_SURFACE_TYPE_XLIB,
SURFACE_TYPE_XCB = CAIRO_SURFACE_TYPE_XCB,
SURFACE_TYPE_GLITZ = CAIRO_SURFACE_TYPE_GLITZ,
SURFACE_TYPE_QUARTZ = CAIRO_SURFACE_TYPE_QUARTZ,
SURFACE_TYPE_WIN32 = CAIRO_SURFACE_TYPE_WIN32,
SURFACE_TYPE_BEOS = CAIRO_SURFACE_TYPE_BEOS,
SURFACE_TYPE_DIRECTFB = CAIRO_SURFACE_TYPE_DIRECTFB,
SURFACE_TYPE_SVG = CAIRO_SURFACE_TYPE_SVG,
SURFACE_TYPE_OS2 = CAIRO_SURFACE_TYPE_OS2
} SurfaceType;
typedef enum
{
PATTERN_TYPE_SOLID = CAIRO_PATTERN_TYPE_SOLID,
PATTERN_TYPE_SURFACE = CAIRO_PATTERN_TYPE_SURFACE,
PATTERN_TYPE_LINEAR = CAIRO_PATTERN_TYPE_LINEAR,
PATTERN_TYPE_RADIAL = CAIRO_PATTERN_TYPE_RADIAL
} PatternType;
typedef enum
{
FONT_TYPE_TOY = CAIRO_FONT_TYPE_TOY,
FONT_TYPE_FT = CAIRO_FONT_TYPE_FT,
FONT_TYPE_WIN32 = CAIRO_FONT_TYPE_WIN32,
FONT_TYPE_ATSUI = CAIRO_FONT_TYPE_ATSUI
} FontType;
} // namespace Cairo
#endif //__CAIROMM_ENUMS_H
// vim: ts=2 sw=2 et

View File

@ -1,49 +0,0 @@
/* Copyright (C) 2005 The cairomm Development Team
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
*/
#include <cairomm/exception.h>
namespace Cairo
{
inline static const char* string_or_empty(const char* text)
{
return (text ? text : "");
}
//TODO: Is it wise to assume that the string is ASCII, as expected by std::logic_error?
logic_error::logic_error(ErrorStatus status)
: std::logic_error( string_or_empty(cairo_status_to_string((cairo_status_t)m_status)) ),
m_status(status)
{
}
logic_error::~logic_error() throw()
{}
/*
const char* logic_error::what() const throw()
{
//Hopefully this is a const char* to a static string.
return cairo_status_to_string((cairo_status_t)m_status);
}
*/
} //namespace Cairo
// vim: ts=2 sw=2 et

View File

@ -1,46 +0,0 @@
/* Copyright (C) 2005 The cairomm Development Team
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
*/
#ifndef __CAIRO_EXCEPTION_H
#define __CAIRO_EXCEPTION_H
#include <cairomm/enums.h>
#include <stdexcept>
namespace Cairo
{
/**
*/
class logic_error: public std::logic_error
{
public:
explicit logic_error(ErrorStatus status);
virtual ~logic_error() throw();
//virtual const char* what() const throw();
private:
ErrorStatus m_status;
};
} // namespace Cairo
#endif // __CAIRO_EXCEPTION_H
// vim: ts=2 sw=2 et

View File

@ -1,74 +0,0 @@
/* Copyright (C) 2005 The cairomm Development Team
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
*/
#include <cairomm/fontface.h>
#include <cairomm/private.h>
namespace Cairo
{
FontFace::FontFace(cairo_font_face_t* cobject, bool has_reference)
: m_cobject(0)
{
if(has_reference)
m_cobject = cobject;
else
m_cobject = cairo_font_face_reference(cobject);
}
FontFace::~FontFace()
{
if(m_cobject)
cairo_font_face_destroy(m_cobject);
}
void FontFace::reference() const
{
cairo_font_face_reference(m_cobject);
}
void FontFace::unreference() const
{
cairo_font_face_destroy(m_cobject);
}
/*
void* FontFace::get_user_data(const cairo_user_data_key_t *key)
{
void* result = cairo_font_face_get_user_data(m_cobject, key);
check_object_status_and_throw_exception(*this);
return result;
}
void FontFace::set_user_data(const cairo_user_data_key_t* key, void *user_data, cairo_destroy_func_t destroy)
{
const ErrorStatus status = (ErrorStatus)cairo_font_face_set_user_data(m_cobject, key, user_data, destroy);
check_status_and_throw_exception(status);
}
*/
FontType FontFace::get_type() const
{
cairo_font_type_t font_type = cairo_font_face_get_type(m_cobject);
check_object_status_and_throw_exception(*this);
return static_cast<FontType>(font_type);
}
} //namespace Cairo
// vim: ts=2 sw=2 et

View File

@ -1,79 +0,0 @@
/* Copyright (C) 2005 The cairomm Development Team
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
*/
#ifndef __CAIROMM_FONTFACE_H
#define __CAIROMM_FONTFACE_H
#include <cairomm/enums.h>
#include <cairo.h>
namespace Cairo
{
/**
* This is a reference-counted object that should be used via Cairo::RefPtr.
*/
class FontFace
{
protected:
//TODO?: FontFace(cairo_font_face_t *target);
public:
/** Create a C++ wrapper for the C instance. This C++ instance should then be given to a RefPtr.
* @param cobject The C instance.
* @param has_reference Whether we already have a reference. Otherwise, the constructor will take an extra reference.
*/
explicit FontFace(cairo_font_face_t* cobject, bool has_reference = false);
virtual ~FontFace();
/* Don't wrap these until we know what they are good for.
void* get_user_data(const cairo_user_data_key_t *key);
void set_user_data(const cairo_user_data_key_t *key, void *user_data, cairo_destroy_func_t destroy);
*/
FontType get_type() const;
typedef cairo_font_face_t cobject;
inline cobject* cobj() { return m_cobject; }
inline const cobject* cobj() const { return m_cobject; }
#ifndef DOXYGEN_IGNORE_THIS
///For use only by the cairomm implementation.
inline ErrorStatus get_status() const
{ return cairo_font_face_status(const_cast<cairo_font_face_t*>(cobj())); }
#endif //DOXYGEN_IGNORE_THIS
void reference() const;
void unreference() const;
protected:
cobject* m_cobject;
};
} // namespace Cairo
#endif //__CAIROMM_FONTFACE_H
// vim: ts=2 sw=2 et

View File

@ -1,159 +0,0 @@
/* Copyright (C) 2005 The cairomm Development Team
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
*/
#include <cairomm/fontoptions.h>
#include <cairomm/private.h>
namespace Cairo
{
FontOptions::FontOptions()
: m_cobject(0)
{
m_cobject = cairo_font_options_create();
check_object_status_and_throw_exception(*this);
}
FontOptions::FontOptions(cairo_font_options_t* cobject, bool take_ownership)
: m_cobject(0)
{
if(take_ownership)
m_cobject = cobject;
else
m_cobject = cairo_font_options_copy(cobject);
check_object_status_and_throw_exception(*this);
}
FontOptions::FontOptions(const FontOptions& src)
{
//Reference-counting, instead of copying by value:
if(!src.m_cobject)
m_cobject = 0;
else
m_cobject = cairo_font_options_copy(src.m_cobject);
check_object_status_and_throw_exception(*this);
}
FontOptions::~FontOptions()
{
if(m_cobject)
cairo_font_options_destroy(m_cobject);
}
FontOptions& FontOptions::operator=(const FontOptions& src)
{
//Reference-counting, instead of copying by value:
if(this == &src)
return *this;
if(m_cobject == src.m_cobject)
return *this;
if(m_cobject)
{
cairo_font_options_destroy(m_cobject);
m_cobject = 0;
}
if(!src.m_cobject)
return *this;
m_cobject = cairo_font_options_copy(src.m_cobject);
return *this;
}
bool FontOptions::operator==(const FontOptions& src) const
{
return cairo_font_options_equal(m_cobject, src.cobj());
}
void FontOptions::merge(const FontOptions& src)
{
cairo_font_options_merge(m_cobject, src.cobj());
check_object_status_and_throw_exception(*this);
}
unsigned long FontOptions::hash() const
{
const unsigned long result = cairo_font_options_hash(m_cobject);
check_object_status_and_throw_exception(*this);
return result;
}
void FontOptions::set_antialias(Antialias antialias)
{
cairo_font_options_set_antialias(m_cobject, static_cast<cairo_antialias_t>(antialias));
check_object_status_and_throw_exception(*this);
}
Antialias FontOptions::get_antialias() const
{
const Antialias result = static_cast<Antialias>(cairo_font_options_get_antialias(m_cobject));
check_object_status_and_throw_exception(*this);
return result;
}
void FontOptions::set_subpixel_order(SubpixelOrder subpixel_order)
{
cairo_font_options_set_subpixel_order(m_cobject, static_cast<cairo_subpixel_order_t>(subpixel_order));
check_object_status_and_throw_exception(*this);
}
SubpixelOrder FontOptions::get_subpixel_order() const
{
const SubpixelOrder result = static_cast<SubpixelOrder>(cairo_font_options_get_subpixel_order(m_cobject));
check_object_status_and_throw_exception(*this);
return result;
}
void FontOptions::set_hint_style(HintStyle hint_style)
{
cairo_font_options_set_hint_style(m_cobject, static_cast<cairo_hint_style_t>(hint_style));
check_object_status_and_throw_exception(*this);
}
HintStyle FontOptions::get_hint_style() const
{
const HintStyle result = static_cast<HintStyle>(cairo_font_options_get_hint_style(m_cobject));
check_object_status_and_throw_exception(*this);
return result;
}
void FontOptions::set_hint_metrics(HintMetrics hint_metrics)
{
cairo_font_options_set_hint_metrics(m_cobject,
static_cast<cairo_hint_metrics_t>(hint_metrics));
check_object_status_and_throw_exception(*this);
}
HintMetrics FontOptions::get_hint_metrics() const
{
const HintMetrics result =
static_cast<HintMetrics>(cairo_font_options_get_hint_metrics(m_cobject));
check_object_status_and_throw_exception(*this);
return result;
}
} //namespace Cairo
// vim: ts=2 sw=2 et

View File

@ -1,81 +0,0 @@
/* Copyright (C) 2005 The cairomm Development Team
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
*/
#ifndef __CAIROMM_FONTOPTIONS_H
#define __CAIROMM_FONTOPTIONS_H
#include <cairomm/enums.h>
#include <string>
#include <cairo.h>
namespace Cairo
{
/** How a font should be rendered.
*/
class FontOptions
{
public:
FontOptions();
explicit FontOptions(cairo_font_options_t* cobject, bool take_ownership = false);
FontOptions(const FontOptions& src);
virtual ~FontOptions();
FontOptions& operator=(const FontOptions& src);
bool operator ==(const FontOptions& src) const;
//bool operator !=(const FontOptions& src) const;
void merge(const FontOptions& other);
unsigned long hash() const;
void set_antialias(Antialias antialias);
Antialias get_antialias() const;
void set_subpixel_order(SubpixelOrder subpixel_order);
SubpixelOrder get_subpixel_order() const;
void set_hint_style(HintStyle hint_style);
HintStyle get_hint_style() const;
void set_hint_metrics(HintMetrics hint_metrics);
HintMetrics get_hint_metrics() const;
typedef cairo_font_options_t cobject;
inline cobject* cobj() { return m_cobject; }
inline const cobject* cobj() const { return m_cobject; }
#ifndef DOXYGEN_IGNORE_THIS
///For use only by the cairomm implementation.
inline ErrorStatus get_status() const
{ return cairo_font_options_status(const_cast<cairo_font_options_t*>(cobj())); }
#endif //DOXYGEN_IGNORE_THIS
protected:
cobject* m_cobject;
};
} // namespace Cairo
#endif //__CAIROMM_FONTOPTIONS_H
// vim: ts=2 sw=2 et

View File

@ -1,98 +0,0 @@
/* Copyright (C) 2005 The cairomm Development Team
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
*/
#include <cairomm/path.h>
#include <cairomm/private.h>
#include <iostream>
namespace Cairo
{
/*
Path::Path()
: m_cobject(0)
{
m_cobject = cairo_path_create();
}
*/
Path::Path(cairo_path_t* cobject, bool take_ownership)
: m_cobject(0)
{
if(take_ownership)
m_cobject = cobject;
else
{
std::cerr << "cairomm: Path::Path(): copying of the underlying cairo_path_t* is not yet implemented." << std::endl;
//m_cobject = cairo_path_copy(cobject);
}
}
/*
Path::Path(const Path& src)
{
//Reference-counting, instead of copying by value:
if(!src.m_cobject)
m_cobject = 0;
else
m_cobject = cairo_path_copy(src.m_cobject);
}
*/
Path::~Path()
{
if(m_cobject)
cairo_path_destroy(m_cobject);
}
/*
Path& Path::operator=(const Path& src)
{
//Reference-counting, instead of copying by value:
if(this == &src)
return *this;
if(m_cobject == src.m_cobject)
return *this;
if(m_cobject)
{
cairo_path_destroy(m_cobject);
m_cobject = 0;
}
if(!src.m_cobject)
return *this;
m_cobject = cairo_path_copy(src.m_cobject);
return *this;
}
*/
/*
bool Path::operator==(const Path& src) const
{
return cairo_path_equal(m_cobject, src.cobj());
}
*/
} //namespace Cairo
// vim: ts=2 sw=2 et

View File

@ -1,72 +0,0 @@
/* Copyright (C) 2005 The cairomm Development Team
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
*/
#ifndef __CAIROMM_PATH_H
#define __CAIROMM_PATH_H
#include <cairomm/enums.h>
#include <string>
#include <cairo.h>
namespace Cairo
{
/** A data structure for holding a path.
* Use Context::copy_path() or Context::copy_path_flat() to instantiate a new
* Path. The application is responsible for freeing the Path object when it is
* no longer needed.
*
* @todo There's currently no way to access the path data without reverting to
* the C object (see cobj())
*/
class Path
{
public:
//Path();
explicit Path(cairo_path_t* cobject, bool take_ownership = false);
//Path(const Path& src);
virtual ~Path();
//Path& operator=(const Path& src);
//bool operator ==(const Path& src) const;
//bool operator !=(const Path& src) const;
typedef cairo_path_t cobject;
inline cobject* cobj() { return m_cobject; }
inline const cobject* cobj() const { return m_cobject; }
#ifndef DOXYGEN_IGNORE_THIS
///For use only by the cairomm implementation.
//There is no *_status() function for this object:
//inline ErrorStatus get_status() const
//{ return cairo_path_status(const_cast<cairo_path_t*>(cobj())); }
#endif //DOXYGEN_IGNORE_THIS
protected:
cobject* m_cobject;
};
} // namespace Cairo
#endif //__CAIROMM_PATH_H
// vim: ts=2 sw=2 et

View File

@ -1,286 +0,0 @@
/* Copyright (C) 2005 The cairomm Development Team
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
*/
#include <cairomm/pattern.h>
#include <cairomm/private.h>
namespace Cairo
{
Pattern::Pattern()
: m_cobject(0)
{
}
Pattern::Pattern(cairo_pattern_t* cobject, bool has_reference)
: m_cobject(0)
{
if(has_reference)
m_cobject = cobject;
else
m_cobject = cairo_pattern_reference(cobject);
}
Pattern::~Pattern()
{
if(m_cobject)
cairo_pattern_destroy(m_cobject);
}
void Pattern::reference() const
{
cairo_pattern_reference(m_cobject);
}
void Pattern::unreference() const
{
cairo_pattern_destroy(m_cobject);
}
void Pattern::set_matrix(const cairo_matrix_t &matrix)
{
cairo_pattern_set_matrix(m_cobject, &matrix);
check_object_status_and_throw_exception(*this);
}
void Pattern::get_matrix(cairo_matrix_t &matrix) const
{
cairo_pattern_get_matrix(m_cobject, &matrix);
check_object_status_and_throw_exception(*this);
}
PatternType Pattern::get_type() const
{
cairo_pattern_type_t pattern_type = cairo_pattern_get_type(m_cobject);
check_object_status_and_throw_exception(*this);
return static_cast<PatternType>(pattern_type);
}
SolidPattern::SolidPattern(cairo_pattern_t* cobject, bool has_reference)
: Pattern(cobject, has_reference)
{
}
void
SolidPattern::get_rgba(double& red, double& green,
double& blue, double& alpha) const
{
// ignore the return value since we know that this is a solid color pattern
cairo_pattern_get_rgba(m_cobject, &red, &green, &blue, &alpha);
check_object_status_and_throw_exception(*this);
}
SolidPattern::~SolidPattern()
{
}
RefPtr<SolidPattern> SolidPattern::create_rgb(double red, double green, double blue)
{
cairo_pattern_t* cobject = cairo_pattern_create_rgb(red, green, blue);
check_status_and_throw_exception(cairo_pattern_status(cobject));
return RefPtr<SolidPattern>(new SolidPattern(cobject, true /* has reference */));
}
RefPtr<SolidPattern> SolidPattern::create_rgba(double red, double green, double blue, double alpha)
{
cairo_pattern_t* cobject = cairo_pattern_create_rgba(red, green, blue, alpha);
check_status_and_throw_exception(cairo_pattern_status(cobject));
return RefPtr<SolidPattern>(new SolidPattern(cobject, true /* has reference */));
}
SurfacePattern::SurfacePattern(const RefPtr<Surface>& surface)
{
m_cobject = cairo_pattern_create_for_surface(surface->cobj());
check_object_status_and_throw_exception(*this);
}
RefPtr<Surface>
SurfacePattern::get_surface()
{
cairo_surface_t* surface = 0;
// we can ignore the return value since we know this is a surface pattern
cairo_pattern_get_surface(const_cast<cairo_pattern_t*>(m_cobject), &surface);
check_object_status_and_throw_exception(*this);
return RefPtr<Surface>(new Surface(surface, false /* does not have reference */));
}
RefPtr<const Surface>
SurfacePattern::get_surface() const
{
return const_cast<SurfacePattern*>(this)->get_surface();
}
RefPtr<SurfacePattern> SurfacePattern::create(const RefPtr<Surface>& surface)
{
return RefPtr<SurfacePattern>(new SurfacePattern(surface));
}
SurfacePattern::SurfacePattern(cairo_pattern_t* cobject, bool has_reference)
: Pattern(cobject, has_reference)
{
}
SurfacePattern::~SurfacePattern()
{
}
void SurfacePattern::set_extend(Extend extend)
{
cairo_pattern_set_extend(m_cobject, (cairo_extend_t)extend);
check_object_status_and_throw_exception(*this);
}
Extend SurfacePattern::get_extend() const
{
const Extend result = static_cast<Extend>(cairo_pattern_get_extend(m_cobject));
check_object_status_and_throw_exception(*this);
return result;
}
void SurfacePattern::set_filter(Filter filter)
{
cairo_pattern_set_filter(m_cobject, (cairo_filter_t)filter);
check_object_status_and_throw_exception(*this);
}
Filter SurfacePattern::get_filter() const
{
Filter result = static_cast<Filter>(cairo_pattern_get_filter(m_cobject));
check_object_status_and_throw_exception(*this);
return result;
}
Gradient::Gradient()
{
}
Gradient::Gradient(cairo_pattern_t* cobject, bool has_reference)
: Pattern(cobject, has_reference)
{
}
Gradient::~Gradient()
{
}
void Gradient::add_color_stop_rgb(double offset, double red, double green, double blue)
{
cairo_pattern_add_color_stop_rgb(m_cobject, offset, red, green, blue);
check_object_status_and_throw_exception(*this);
}
void Gradient::add_color_stop_rgba(double offset, double red, double green, double blue, double alpha)
{
cairo_pattern_add_color_stop_rgba(m_cobject, offset, red, green, blue, alpha);
check_object_status_and_throw_exception(*this);
}
std::vector<ColorStop>
Gradient::get_color_stops() const
{
std::vector<ColorStop> stops;
int num_stops = 0;
// we can ignore the return value since we know this is a gradient pattern
cairo_pattern_get_color_stop_count(m_cobject, &num_stops);
// since we know the total number of stops, we can avoid re-allocation with
// each addition to the vector by pre-allocating the required number
stops.reserve(num_stops);
for(int i = 0; i < num_stops; ++i)
{
ColorStop stop;
cairo_pattern_get_color_stop_rgba(m_cobject, i, &stop.offset, &stop.red,
&stop.green, &stop.blue, &stop.alpha);
stops.push_back(stop);
}
return stops;
}
LinearGradient::LinearGradient(double x0, double y0, double x1, double y1)
{
m_cobject = cairo_pattern_create_linear(x0, y0, x1, y1);
check_object_status_and_throw_exception(*this);
}
void
LinearGradient::get_linear_points(double &x0, double &y0,
double &x1, double &y1) const
{
// ignore the return value since we know that this is a linear gradient
// pattern
cairo_pattern_get_linear_points(m_cobject, &x0, &y0, &x1, &y1);
check_object_status_and_throw_exception(*this);
}
RefPtr<LinearGradient> LinearGradient::create(double x0, double y0, double x1, double y1)
{
return RefPtr<LinearGradient>(new LinearGradient(x0, y0, x1, y1));
}
LinearGradient::LinearGradient(cairo_pattern_t* cobject, bool has_reference)
: Gradient(cobject, has_reference)
{
}
LinearGradient::~LinearGradient()
{
}
RadialGradient::RadialGradient(double cx0, double cy0, double radius0, double cx1, double cy1, double radius1)
{
m_cobject = cairo_pattern_create_radial(cx0, cy0, radius0, cx1, cy1, radius1);
check_object_status_and_throw_exception(*this);
}
void
RadialGradient::get_radial_circles(double& x0, double& y0, double& r0,
double& x1, double& y1, double& r1) const
{
// ignore the return value since we know that this is a radial gradient
// pattern
cairo_pattern_get_radial_circles(const_cast<cairo_pattern_t*>(m_cobject),
&x0, &y0, &r0, &x1, &y1, &r1);
check_object_status_and_throw_exception(*this);
}
RefPtr<RadialGradient> RadialGradient::create(double cx0, double cy0, double radius0, double cx1, double cy1, double radius1)
{
return RefPtr<RadialGradient>(new RadialGradient(cx0, cy0, radius0, cx1, cy1, radius1));
}
RadialGradient::RadialGradient(cairo_pattern_t* cobject, bool has_reference)
: Gradient(cobject, has_reference)
{
}
RadialGradient::~RadialGradient()
{
}
} //namespace Cairo
// vim: ts=2 sw=2 et

View File

@ -1,290 +0,0 @@
/* Copyright (C) 2005 The cairomm Development Team
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
*/
#ifndef __CAIROMM_PATTERN_H
#define __CAIROMM_PATTERN_H
#include <cairomm/surface.h>
#include <cairomm/enums.h>
#include <cairo.h>
namespace Cairo
{
struct ColorStop
{
double offset;
double red, green, blue, alpha;
};
/**
* This is a reference-counted object that should be used via Cairo::RefPtr.
*/
class Pattern
{
protected:
//Use derived constructors.
//TODO?: Pattern(cairo_pattern_t *target);
public:
/** Create a C++ wrapper for the C instance. This C++ instance should then be given to a RefPtr.
* @param cobject The C instance.
* @param has_reference Whether we already have a reference. Otherwise, the constructor will take an extra reference.
*/
explicit Pattern(cairo_pattern_t* cobject, bool has_reference = false);
virtual ~Pattern();
void set_matrix(const cairo_matrix_t &matrix);
void get_matrix(cairo_matrix_t &matrix) const;
PatternType get_type() const;
typedef cairo_pattern_t cobject;
inline cobject* cobj() { return m_cobject; }
inline const cobject* cobj() const { return m_cobject; }
#ifndef DOXYGEN_IGNORE_THIS
///For use only by the cairomm implementation.
inline ErrorStatus get_status() const
{ return cairo_pattern_status(const_cast<cairo_pattern_t*>(cobj())); }
#endif //DOXYGEN_IGNORE_THIS
void reference() const;
void unreference() const;
protected:
//Used by derived types only.
Pattern();
cobject* m_cobject;
};
class SolidPattern : public Pattern
{
protected:
public:
/** Create a C++ wrapper for the C instance.
* @param cobject The C instance.
* @param has_reference Whether we already have a reference. Otherwise, the constructor will take an extra reference.
*/
explicit SolidPattern(cairo_pattern_t* cobject, bool has_reference = false);
/**
* Gets the solid color for a solid color pattern.
*
* @param red return value for red component of color
* @param green return value for green component of color
* @param blue return value for blue component of color
* @param alpha return value for alpha component of color
*
* @since 1.4
**/
void get_rgba (double& red, double& green,
double& blue, double& alpha) const;
//TODO: Documentation
static RefPtr<SolidPattern> create_rgb(double red, double green, double blue);
//TODO: Documentation
static RefPtr<SolidPattern> create_rgba(double red, double green,
double blue, double alpha);
//TODO?: SolidPattern(cairo_pattern_t *target);
virtual ~SolidPattern();
};
class SurfacePattern : public Pattern
{
protected:
explicit SurfacePattern(const RefPtr<Surface>& surface);
//TODO?: SurfacePattern(cairo_pattern_t *target);
public:
/** Create a C++ wrapper for the C instance. This C++ instance should then be given to a RefPtr.
* @param cobject The C instance.
* @param has_reference Whether we already have a reference. Otherwise, the constructor will take an extra reference.
*/
explicit SurfacePattern(cairo_pattern_t* cobject, bool has_reference = false);
/**
* Gets the surface associated with this pattern
*
* @since 1.4
**/
RefPtr<const Surface> get_surface () const;
/**
* Gets the surface associated with this pattern
*
* @since 1.4
**/
RefPtr<Surface> get_surface ();
virtual ~SurfacePattern();
static RefPtr<SurfacePattern> create(const RefPtr<Surface>& surface);
void set_extend(Extend extend);
Extend get_extend() const;
void set_filter(Filter filter);
Filter get_filter() const;
};
class Gradient : public Pattern
{
protected:
//Use derived constructors.
//TODO?: Gradient(cairo_pattern_t *target);
public:
/** Create a C++ wrapper for the C instance. This C++ instance should then be given to a RefPtr.
* @param cobject The C instance.
* @param has_reference Whether we already have a reference. Otherwise, the constructor will take an extra reference.
*/
explicit Gradient(cairo_pattern_t* cobject, bool has_reference = false);
virtual ~Gradient();
/**
* Adds an opaque color stop to a gradient pattern. The offset
* specifies the location along the gradient's control vector. For
* example, a linear gradient's control vector is from (x0,y0) to
* (x1,y1) while a radial gradient's control vector is from any point
* on the start circle to the corresponding point on the end circle.
*
* The color is specified in the same way as in Context::set_source_rgb().
*
* @param offset an offset in the range [0.0 .. 1.0]
* @param red red component of color
* @param green green component of color
* @param blue blue component of color
**/
void add_color_stop_rgb(double offset, double red, double green, double blue);
/**
* Adds a translucent color stop to a gradient pattern. The offset
* specifies the location along the gradient's control vector. For
* example, a linear gradient's control vector is from (x0,y0) to
* (x1,y1) while a radial gradient's control vector is from any point
* on the start circle to the corresponding point on the end circle.
*
* The color is specified in the same way as in Context::set_source_rgba().
*
* @param offset an offset in the range [0.0 .. 1.0]
* @param red red component of color
* @param green green component of color
* @param blue blue component of color
* @param alpha alpha component of color
*/
void add_color_stop_rgba(double offset, double red, double green, double blue, double alpha);
/*
* Gets the color stops and offsets for this Gradient
*
* @since 1.4
*/
std::vector<ColorStop> get_color_stops() const;
protected:
Gradient();
};
class LinearGradient : public Gradient
{
protected:
LinearGradient(double x0, double y0, double x1, double y1);
public:
/** Create a C++ wrapper for the C instance. This C++ instance should then be given to a RefPtr.
* @param cobject The C instance.
* @param has_reference Whether we already have a reference. Otherwise, the constructor will take an extra reference.
*/
explicit LinearGradient(cairo_pattern_t* cobject, bool has_reference = false);
/**
* @param x0 return value for the x coordinate of the first point
* @param y0 return value for the y coordinate of the first point
* @param x1 return value for the x coordinate of the second point
* @param y1 return value for the y coordinate of the second point
*
* Gets the gradient endpoints for a linear gradient.
*
* @since 1.4
**/
void get_linear_points(double &x0, double &y0,
double &x1, double &y1) const;
//TODO?: LinearGradient(cairo_pattern_t *target);
virtual ~LinearGradient();
static RefPtr<LinearGradient> create(double x0, double y0, double x1, double y1);
};
class RadialGradient : public Gradient
{
protected:
RadialGradient(double cx0, double cy0, double radius0, double cx1, double cy1, double radius1);
public:
/** Create a C++ wrapper for the C instance. This C++ instance should then be given to a RefPtr.
* @param cobject The C instance.
* @param has_reference Whether we already have a reference. Otherwise, the constructor will take an extra reference.
*/
explicit RadialGradient(cairo_pattern_t* cobject, bool has_reference = false);
/**
* @param x0 return value for the x coordinate of the center of the first (inner) circle
* @param y0 return value for the y coordinate of the center of the first (inner) circle
* @param r0 return value for the radius of the first (inner) circle
* @param x1 return value for the x coordinate of the center of the second (outer) circle
* @param y1 return value for the y coordinate of the center of the second (outer) circle
* @param r1 return value for the radius of the second (outer) circle
*
* Gets the gradient endpoint circles for a radial gradient, each
* specified as a center coordinate and a radius.
*
* @since 1.4
**/
void get_radial_circles(double& x0, double& y0, double& r0,
double& x1, double& y1, double& r1) const;
//TODO?: RadialGradient(cairo_pattern_t *target);
virtual ~RadialGradient();
static RefPtr<RadialGradient> create(double cx0, double cy0, double radius0, double cx1, double cy1, double radius1);
};
} // namespace Cairo
#endif //__CAIROMM_PATTERN_H
// vim: ts=2 sw=2 et

View File

@ -1,85 +0,0 @@
/* Copyright (C) 2005 The cairomm Development Team
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
*/
//#include <cairommconfig.h> //For CAIROMM_EXCEPTIONS_ENABLED
#include <cairomm/private.h>
#include <cairomm/exception.h>
#include <stdexcept>
#include <iostream>
namespace Cairo
{
#ifdef CAIROMM_EXCEPTIONS_ENABLED
void throw_exception(ErrorStatus status)
{
switch(status)
{
case CAIRO_STATUS_SUCCESS:
// we should never get here, but just in case
break;
case CAIRO_STATUS_NO_MEMORY:
throw std::bad_alloc();
break;
// Programmer error
case CAIRO_STATUS_INVALID_RESTORE:
case CAIRO_STATUS_INVALID_POP_GROUP:
case CAIRO_STATUS_NO_CURRENT_POINT:
case CAIRO_STATUS_INVALID_MATRIX:
//No longer in API?: case CAIRO_STATUS_NO_TARGET_SURFACE:
case CAIRO_STATUS_INVALID_STRING:
case CAIRO_STATUS_SURFACE_FINISHED:
//No longer in API?: case CAIRO_STATUS_BAD_NESTING:
throw Cairo::logic_error(status);
break;
// Language binding implementation:
case CAIRO_STATUS_NULL_POINTER:
case CAIRO_STATUS_INVALID_PATH_DATA:
case CAIRO_STATUS_SURFACE_TYPE_MISMATCH:
throw Cairo::logic_error(status);
break;
// Other
case CAIRO_STATUS_READ_ERROR:
case CAIRO_STATUS_WRITE_ERROR:
{
//The Cairo language binding advice suggests that these are stream errors
//that should be mapped to their C++ equivalents.
const char* error_message = cairo_status_to_string(status);
throw std::ios_base::failure( error_message ? error_message : std::string() );
}
break;
default:
throw Cairo::logic_error(status);
break;
}
}
#else
void throw_exception(ErrorStatus /* status */)
{
//Do nothing. The application should call get_status() instead.
}
#endif //CAIROMM_EXCEPTIONS_ENABLED
} //namespace Cairo
// vim: ts=2 sw=2 et

View File

@ -1,52 +0,0 @@
/* Copyright (C) 2005 The cairomm Development Team
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
*/
#ifndef __CAIROMM_PRIVATE_H
#define __CAIROMM_PRIVATE_H
#include <cairomm/enums.h>
#include <cairomm/exception.h>
#include <string>
#ifndef DOXYGEN_IGNORE_THIS
namespace Cairo
{
/// Throws the appropriate exception, if exceptions are enabled.
void throw_exception(ErrorStatus status);
//We inline this because it is called so often.
inline void check_status_and_throw_exception(ErrorStatus status)
{
if(status != CAIRO_STATUS_SUCCESS)
throw_exception(status); //This part doesn't need to be inline because it would rarely be called.
}
template<class T>
void check_object_status_and_throw_exception(const T& object)
{
//get_status() is normally an inlined member method.
check_status_and_throw_exception(object.get_status());
}
} // namespace Cairo
#endif //DOXYGEN_IGNORE_THIS
#endif //__CAIROMM_PRIVATE_H
// vim: ts=2 sw=2 et

View File

@ -1,60 +0,0 @@
/* Copyright (C) 2007 The cairomm Development Team
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
*/
#include <cairomm/quartz_surface.h>
#include <cairomm/private.h>
namespace Cairo
{
#ifdef CAIRO_HAS_QUARTZ_SURFACE
QuartzSurface::QuartzSurface(cairo_surface_t* cobject, bool has_reference) :
Surface(cobject, has_reference)
{}
QuartzSurface::~QuartzSurface()
{
// surface is destroyed in base class
}
CGContextRef QuartzSurface::get_cg_context() const
{
return cairo_quartz_surface_get_cg_context(m_cobject);
}
RefPtr<QuartzSurface> QuartzSurface::create(CGContextRef cg_context, int width, int height)
{
cairo_surface_t* cobject = cairo_quartz_surface_create_for_cg_context(cg_context,
width, height);
check_status_and_throw_exception(cairo_surface_status(cobject));
return RefPtr<QuartzSurface>(new QuartzSurface(cobject, true /* has reference */));
}
RefPtr<QuartzSurface> QuartzSurface::create(Format format, int width, int height)
{
cairo_surface_t* cobject = cairo_quartz_surface_create((cairo_format_t)format, width, height);
check_status_and_throw_exception(cairo_surface_status(cobject));
return RefPtr<QuartzSurface>(new QuartzSurface(cobject, true /* has reference */));
}
#endif // CAIRO_HAS_QUARTZ_SURFACE
} //namespace Cairo
// vim: ts=2 sw=2 et

View File

@ -1,88 +0,0 @@
/* Copyright (C) 2007 The cairomm Development Team
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
*/
#ifndef __CAIROMM_QUARTZ_SURFACE_H
#define __CAIROMM_QUARTZ_SURFACE_H
#include <cairomm/surface.h>
#ifdef CAIRO_HAS_QUARTZ_SURFACE
#include <cairo-quartz.h>
#endif
namespace Cairo
{
#ifdef CAIRO_HAS_QUARTZ_SURFACE
/** A QuartzSurface provides a way to render within Apple Mac OS X. If you
* want to draw to the screen within a Mac OS X application, you
* should use this Surface type.
*
* @note For this Surface to be available, cairo must have been compiled with
* (native) Quartz support (requires Cairo > 1.4.0)
*/
class QuartzSurface : public Surface
{
public:
/** Create a C++ wrapper for the C instance. This C++ instance should then be
* given to a RefPtr.
*
* @param cobject The C instance.
* @param has_reference whether we already have a reference. Otherwise, the
* constructor will take an extra reference.
*/
explicit QuartzSurface(cairo_surface_t* cobject, bool has_reference = false);
virtual ~QuartzSurface();
/** Returns the CGContextRef associated with this surface, or NULL if none. Also
* returns NULL if the surface is not a Quartz surface.
*
* @return CGContextRef or NULL if no CGContextRef available.
*/
CGContextRef get_cg_context() const;
/** Creates a cairo surface that targets the given CGContext.
*
* @param cg_context the CGContext to create a surface for
* @return the newly created surface
*/
static RefPtr<QuartzSurface> create(CGContextRef cg_context, int width, int height);
/** Creates a device-independent-bitmap surface not associated with any
* particular existing surface or device context. The created bitmap will be
* unititialized.
*
* @param format format of pixels in the surface to create
* @param width width of the surface, in pixels
* @param height height of the surface, in pixels
* @return the newly created surface
*/
static RefPtr<QuartzSurface> create(Format format, int width, int height);
};
#endif // CAIRO_HAS_QUARTZ_SURFACE
} // namespace Cairo
#endif //__CAIROMM_QUARTZ_SURFACE_H
// vim: ts=2 sw=2 et

View File

@ -1,399 +0,0 @@
// -*- c++ -*-
#ifndef _cairo_REFPTR_H
#define _cairo_REFPTR_H
/* $Id: refptr.h,v 1.6 2006-09-27 18:38:57 murrayc Exp $ */
/* Copyright 2005 The cairomm Development Team
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
*/
namespace Cairo
{
/** RefPtr<> is a reference-counting shared smartpointer.
*
* Reference counting means that a shared reference count is incremented each
* time a RefPtr is copied, and decremented each time a RefPtr is destroyed,
* for instance when it leaves its scope. When the reference count reaches
* zero, the contained object is deleted
*
* cairomm uses RefPtr so that you don't need to remember
* to delete the object explicitly, or know when a method expects you to delete
* the object that it returns, and to prevent any need to manually reference
* and unreference() cairo objects.
*/
template <class T_CppObject>
class RefPtr
{
public:
/** Default constructor
*
* Afterwards it will be null and use of -> will cause a segmentation fault.
*/
inline RefPtr();
/// Destructor - decrements reference count.
inline ~RefPtr();
/** For use only in the internal implementation of cairomm, gtkmm, etc.
*
* This takes ownership of @a pCppObject, so it will be deleted when the
* last RefPtr is deleted, for instance when it goes out of scope.
*
* This assumes that @a pCppObject already has a starting reference for its underlying cairo object,
* so that destruction of @a @pCppObject will cause a corresponding unreference of its underlying
* cairo object. For instance, a cairo_*_create() function usually provides a starting reference,
* but a cairo_*_get_*() function requires the caller to manually reference the returned object.
* In this case, you should call reference() on @a pCppObject before passing it to this constructor.
*/
explicit inline RefPtr(T_CppObject* pCppObject);
/// For use only in the internal implementation of sharedptr.
explicit inline RefPtr(T_CppObject* pCppObject, int* refcount);
/** Copy constructor
*
* This increments the shared reference count.
*/
inline RefPtr(const RefPtr<T_CppObject>& src);
/** Copy constructor (from different, but castable type).
*
* Increments the reference count.
*/
template <class T_CastFrom>
inline RefPtr(const RefPtr<T_CastFrom>& src);
/** Swap the contents of two RefPtr<>.
* This method swaps the internal pointers to T_CppObject. This can be
* done safely without involving a reference/unreference cycle and is
* therefore highly efficient.
*/
inline void swap(RefPtr<T_CppObject>& other);
/// Copy from another RefPtr:
inline RefPtr<T_CppObject>& operator=(const RefPtr<T_CppObject>& src);
/** Copy from different, but castable type).
*
* Increments the reference count.
*/
template <class T_CastFrom>
inline RefPtr<T_CppObject>& operator=(const RefPtr<T_CastFrom>& src);
/// Tests whether the RefPtr<> point to the same underlying instance.
inline bool operator==(const RefPtr<T_CppObject>& src) const;
/// See operator==().
inline bool operator!=(const RefPtr<T_CppObject>& src) const;
/** Dereferencing.
*
* Use the methods of the underlying instance like so:
* <code>refptr->memberfun()</code>.
*/
inline T_CppObject* operator->() const;
/** Test whether the RefPtr<> points to any underlying instance.
*
* Mimics usage of ordinary pointers:
* @code
* if (ptr)
* do_something();
* @endcode
*/
inline operator bool() const;
/// Set underlying instance to 0, decrementing reference count of existing instance appropriately.
inline void clear();
/** Dynamic cast to derived class.
*
* The RefPtr can't be cast with the usual notation so instead you can use
* @code
* ptr_derived = RefPtr<Derived>::cast_dynamic(ptr_base);
* @endcode
*/
template <class T_CastFrom>
static inline RefPtr<T_CppObject> cast_dynamic(const RefPtr<T_CastFrom>& src);
/** Static cast to derived class.
*
* Like the dynamic cast; the notation is
* @code
* ptr_derived = RefPtr<Derived>::cast_static(ptr_base);
* @endcode
*/
template <class T_CastFrom>
static inline RefPtr<T_CppObject> cast_static(const RefPtr<T_CastFrom>& src);
/** Cast to non-const.
*
* The RefPtr can't be cast with the usual notation so instead you can use
* @code
* ptr_unconst = RefPtr<UnConstType>::cast_const(ptr_const);
* @endcode
*/
template <class T_CastFrom>
static inline RefPtr<T_CppObject> cast_const(const RefPtr<T_CastFrom>& src);
#ifndef DOXYGEN_IGNORE_THIS
// Warning: This is for internal use only. Do not manually modify the
// reference count with this pointer.
inline int* refcount_() const { return pCppRefcount_; }
#endif // DOXYGEN_IGNORE_THIS
private:
void unref();
T_CppObject* pCppObject_;
mutable int* pCppRefcount_;
};
#ifndef DOXYGEN_IGNORE_THIS
// RefPtr<>::operator->() comes first here since it's used by other methods.
// If it would come after them it wouldn't be inlined.
template <class T_CppObject> inline
T_CppObject* RefPtr<T_CppObject>::operator->() const
{
return pCppObject_;
}
template <class T_CppObject> inline
RefPtr<T_CppObject>::RefPtr()
:
pCppObject_(0),
pCppRefcount_(0)
{}
template <class T_CppObject> inline
RefPtr<T_CppObject>::~RefPtr()
{
unref();
}
template <class T_CppObject> inline
void RefPtr<T_CppObject>::unref()
{
if(pCppRefcount_)
{
--(*pCppRefcount_);
if(*pCppRefcount_ == 0)
{
if(pCppObject_)
{
delete pCppObject_;
pCppObject_ = 0;
}
delete pCppRefcount_;
pCppRefcount_ = 0;
}
}
}
template <class T_CppObject> inline
RefPtr<T_CppObject>::RefPtr(T_CppObject* pCppObject)
:
pCppObject_(pCppObject),
pCppRefcount_(0)
{
if(pCppObject)
{
pCppRefcount_ = new int;
*pCppRefcount_ = 1; //This will be decremented in the destructor.
}
}
//Used by cast_*() implementations:
template <class T_CppObject> inline
RefPtr<T_CppObject>::RefPtr(T_CppObject* pCppObject, int* refcount)
:
pCppObject_(pCppObject),
pCppRefcount_(refcount)
{
if(pCppObject_ && pCppRefcount_)
++(*pCppRefcount_);
}
template <class T_CppObject> inline
RefPtr<T_CppObject>::RefPtr(const RefPtr<T_CppObject>& src)
:
pCppObject_ (src.pCppObject_),
pCppRefcount_(src.pCppRefcount_)
{
if(pCppObject_ && pCppRefcount_)
++(*pCppRefcount_);
}
// The templated ctor allows copy construction from any object that's
// castable. Thus, it does downcasts:
// base_ref = derived_ref
template <class T_CppObject>
template <class T_CastFrom>
inline
RefPtr<T_CppObject>::RefPtr(const RefPtr<T_CastFrom>& src)
:
// A different RefPtr<> will not allow us access to pCppObject_. We need
// to add a get_underlying() for this, but that would encourage incorrect
// use, so we use the less well-known operator->() accessor:
pCppObject_ (src.operator->()),
pCppRefcount_(src.refcount_())
{
if(pCppObject_ && pCppRefcount_)
++(*pCppRefcount_);
}
template <class T_CppObject> inline
void RefPtr<T_CppObject>::swap(RefPtr<T_CppObject>& other)
{
T_CppObject *const temp = pCppObject_;
int* temp_count = pCppRefcount_;
pCppObject_ = other.pCppObject_;
pCppRefcount_ = other.pCppRefcount_;
other.pCppObject_ = temp;
other.pCppRefcount_ = temp_count;
}
template <class T_CppObject> inline
RefPtr<T_CppObject>& RefPtr<T_CppObject>::operator=(const RefPtr<T_CppObject>& src)
{
// In case you haven't seen the swap() technique to implement copy
// assignment before, here's what it does:
//
// 1) Create a temporary RefPtr<> instance via the copy ctor, thereby
// increasing the reference count of the source object.
//
// 2) Swap the internal object pointers of *this and the temporary
// RefPtr<>. After this step, *this already contains the new pointer,
// and the old pointer is now managed by temp.
//
// 3) The destructor of temp is executed, thereby unreferencing the
// old object pointer.
//
// This technique is described in Herb Sutter's "Exceptional C++", and
// has a number of advantages over conventional approaches:
//
// - Code reuse by calling the copy ctor.
// - Strong exception safety for free.
// - Self assignment is handled implicitely.
// - Simplicity.
// - It just works and is hard to get wrong; i.e. you can use it without
// even thinking about it to implement copy assignment whereever the
// object data is managed indirectly via a pointer, which is very common.
RefPtr<T_CppObject> temp (src);
this->swap(temp);
return *this;
}
template <class T_CppObject>
template <class T_CastFrom>
inline
RefPtr<T_CppObject>& RefPtr<T_CppObject>::operator=(const RefPtr<T_CastFrom>& src)
{
RefPtr<T_CppObject> temp (src);
this->swap(temp);
return *this;
}
template <class T_CppObject> inline
bool RefPtr<T_CppObject>::operator==(const RefPtr<T_CppObject>& src) const
{
return (pCppObject_ == src.pCppObject_);
}
template <class T_CppObject> inline
bool RefPtr<T_CppObject>::operator!=(const RefPtr<T_CppObject>& src) const
{
return (pCppObject_ != src.pCppObject_);
}
template <class T_CppObject> inline
RefPtr<T_CppObject>::operator bool() const
{
return (pCppObject_ != 0);
}
template <class T_CppObject> inline
void RefPtr<T_CppObject>::clear()
{
RefPtr<T_CppObject> temp; // swap with an empty RefPtr<> to clear *this
this->swap(temp);
}
template <class T_CppObject>
template <class T_CastFrom>
inline
RefPtr<T_CppObject> RefPtr<T_CppObject>::cast_dynamic(const RefPtr<T_CastFrom>& src)
{
T_CppObject *const pCppObject = dynamic_cast<T_CppObject*>(src.operator->());
if(pCppObject) //Check whether dynamic_cast<> succeeded so we don't pass a null object with a used refcount:
return RefPtr<T_CppObject>(pCppObject, src.refcount_());
else
return RefPtr<T_CppObject>();
}
template <class T_CppObject>
template <class T_CastFrom>
inline
RefPtr<T_CppObject> RefPtr<T_CppObject>::cast_static(const RefPtr<T_CastFrom>& src)
{
T_CppObject *const pCppObject = static_cast<T_CppObject*>(src.operator->());
return RefPtr<T_CppObject>(pCppObject, src.refcount_());
}
template <class T_CppObject>
template <class T_CastFrom>
inline
RefPtr<T_CppObject> RefPtr<T_CppObject>::cast_const(const RefPtr<T_CastFrom>& src)
{
T_CppObject *const pCppObject = const_cast<T_CppObject*>(src.operator->());
return RefPtr<T_CppObject>(pCppObject, src.refcount_());
}
#endif /* DOXYGEN_IGNORE_THIS */
/** @relates Glib::RefPtr */
template <class T_CppObject> inline
void swap(RefPtr<T_CppObject>& lhs, RefPtr<T_CppObject>& rhs)
{
lhs.swap(rhs);
}
} // namespace Cairo
#endif /* _cairo_REFPTR_H */
// vim: ts=2 sw=2 et

View File

@ -1,104 +0,0 @@
/* Copyright (C) 2006 The cairomm Development Team
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
*/
#include <cairomm/scaledfont.h>
#include <cairomm/private.h> // for check_status_and_throw_exception
namespace Cairo
{
ScaledFont::ScaledFont(cobject* cobj, bool has_reference)
{
if(has_reference)
m_cobject = cobj;
else
m_cobject = cairo_scaled_font_reference(cobj);
}
RefPtr<ScaledFont> ScaledFont::create(FontFace& font_face, const Matrix& font_matrix,
const Matrix& ctm, const FontOptions& options)
{
cairo_scaled_font_t* cobj = cairo_scaled_font_create(font_face.cobj(), &font_matrix, &ctm, options.cobj());
check_status_and_throw_exception(cairo_scaled_font_status(cobj));
return RefPtr<ScaledFont>(new ScaledFont(cobj, false));
}
void ScaledFont::extents(FontExtents& extents) const
{
cairo_scaled_font_extents(m_cobject, static_cast<cairo_font_extents_t*>(&extents));
check_object_status_and_throw_exception(*this);
}
void ScaledFont::text_extents(const std::string& utf8, TextExtents& extents) const
{
cairo_scaled_font_text_extents(m_cobject, utf8.c_str(), static_cast<cairo_text_extents_t*>(&extents));
check_object_status_and_throw_exception(*this);
}
void ScaledFont::glyph_extents(const std::vector<Glyph>& glyphs, TextExtents& extents)
{
// copy the data from the vector to a standard C array. I don't believe
// this will be a frequently used function so I think the performance hit is
// more than offset by the increased flexibility of the STL interface.
// Use new to allocate memory as MSCV complains about non-const array size with
// Glyph glyph_array[glyphs.size()]
Glyph* glyph_array= new Glyph[glyphs.size()];
std::copy(glyphs.begin(), glyphs.end(), glyph_array);
cairo_scaled_font_glyph_extents(m_cobject, glyph_array, glyphs.size(),
static_cast<cairo_text_extents_t*>(&extents));
check_object_status_and_throw_exception(*this);
delete[] glyph_array;
}
RefPtr<FontFace> ScaledFont::get_font_face() const
{
cairo_font_face_t* face = cairo_scaled_font_get_font_face(m_cobject);
check_object_status_and_throw_exception(*this);
return RefPtr<FontFace>(new FontFace(face, true));
}
void ScaledFont::get_font_options(FontOptions& options) const
{
cairo_scaled_font_get_font_options(m_cobject, options.cobj());
check_object_status_and_throw_exception(*this);
}
void ScaledFont::get_font_matrix(Matrix& font_matrix) const
{
cairo_scaled_font_get_font_matrix(m_cobject,
static_cast<cairo_matrix_t*>(&font_matrix));
check_object_status_and_throw_exception(*this);
}
void ScaledFont::get_ctm(Matrix& ctm) const
{
cairo_scaled_font_get_ctm(m_cobject, static_cast<cairo_matrix_t*>(&ctm));
check_object_status_and_throw_exception(*this);
}
FontType ScaledFont::get_type() const
{
cairo_font_type_t font_type = cairo_scaled_font_get_type(m_cobject);
check_object_status_and_throw_exception(*this);
return static_cast<FontType>(font_type);
}
} // namespace Cairo
// vim: ts=2 sw=2 et

View File

@ -1,156 +0,0 @@
/* Copyright (C) 2006 The cairomm Development Team
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
*/
#ifndef __CAIROMM_SCALEDFONT_H
#define __CAIROMM_SCALEDFONT_H
#include <cairomm/context.h>
#include <cairomm/fontoptions.h>
namespace Cairo
{
typedef enum
{
} ScaledFontType;
/** A ScaledFont is a font scaled to a particular size and device resolution. It
* is most useful for low-level font usage where a library or application wants
* to cache a reference to a scaled font to speed up the computation of metrics.
*/
class ScaledFont
{
public:
/** The underlying C cairo object type */
typedef cairo_scaled_font_t cobject;
/** Provides acces to the underlying C cairo object */
inline cobject* cobj() { return m_cobject; }
/** Provides acces to the underlying C cairo object */
inline const cobject* cobj() const { return m_cobject; }
#ifndef DOXYGEN_IGNORE_THIS
// For use only by the cairomm implementation.
inline ErrorStatus get_status() const
{ return cairo_scaled_font_status(const_cast<cairo_scaled_font_t*>(cobj())); }
// for RefPtr
void reference() const { cairo_scaled_font_reference(m_cobject); }
void unreference() const { cairo_scaled_font_destroy(m_cobject); }
#endif //DOXYGEN_IGNORE_THIS
/** Createa C++ wrapper object from the C instance. This C++ object should
* then be given to a RefPtr.
*/
explicit ScaledFont(cobject* cobj, bool has_reference = false);
/** Creates a ScaledFont object from a font face and matrices that describe
* the size of the font and the environment in which it will be used.
*
* @param font_face A font face.
* @param font_matrix font space to user space transformation matrix for the
* font. In the simplest case of a N point font, this matrix is just a scale
* by N, but it can also be used to shear the font or stretch it unequally
* along the two axes. See Context::set_font_matrix().
* @param ctm user to device transformation matrix with which the font will be
* used.
* @param options: options to use when getting metrics for the font and
* rendering with it.
*/
static RefPtr<ScaledFont> create(FontFace& font_face, const Matrix& font_matrix,
const Matrix& ctm, const FontOptions& options);
//TODO: This should really be get_extents().
/** Gets the metrics for a ScaledFont */
void extents(FontExtents& extents) const;
//TODO: This should really be get_text_extents().
/** Gets the extents for a string of text. The extents describe a user-space
* rectangle that encloses the "inked" portion of the text drawn at the origin
* (0,0) (as it would be drawn by Context::show_text() if the cairo graphics
* state were set to the same font_face, font_matrix, ctm, and font_options as
* the ScaledFont object). Additionally, the x_advance and y_advance values
* indicate the amount by which the current point would be advanced by
* Context::show_text().
*
* Note that whitespace characters do not directly contribute to the size of
* the rectangle (extents.width and extents.height). They do contribute
* indirectly by changing the position of non-whitespace characters. In
* particular, trailing whitespace characters are likely to not affect the
* size of the rectangle, though they will affect the x_advance and y_advance
* values.
*
* @param utf8 a string of text, encoded in UTF-8
* @param extents Returns the extents of the given string
*
* @since 1.2
*/
void text_extents(const std::string& utf8, TextExtents& extents) const;
//TODO: This should really be get_glyph_extents().
/** Gets the extents for an array of glyphs. The extents describe a user-space
* rectangle that encloses the "inked" portion of the glyphs, (as they would
* be drawn by Context::show_glyphs() if the cairo graphics state were set to the
* same font_face, font_matrix, ctm, and font_options as the ScaledFont
* object). Additionally, the x_advance and y_advance values indicate the
* amount by which the current point would be advanced by Context::show_glyphs().
*
* Note that whitespace glyphs do not contribute to the size of the rectangle
* (extents.width and extents.height).
*
* @param glyphs A vector of glyphs to calculate the extents of
* @param extents Returns the extents for the array of glyphs
**/
void glyph_extents(const std::vector<Glyph>& glyphs, TextExtents& extents);
/** The FontFace with which this ScaledFont was created.
* @since 1.2
*/
RefPtr<FontFace> get_font_face() const;
/** Gets the FontOptions with which the ScaledFont was created.
* @since 1.2
*/
void get_font_options(FontOptions& options) const;
/** Gets the font matrix with which the ScaledFont was created.
* @since 1.2
*/
void get_font_matrix(Matrix& font_matrix) const;
/** Gets the CTM with which the ScaledFont was created.
* @since 1.2
*/
void get_ctm(Matrix& ctm) const;
/** Gets the type of scaled Font
* @since 1.2
*/
FontType get_type() const;
protected:
/** The underlying C cairo object that is wrapped by this ScaledFont */
cobject* m_cobject;
};
}
#endif // __CAIROMM_SCALEDFONT_H
// vim: ts=2 sw=2 et

View File

@ -1,382 +0,0 @@
/* Copyright (C) 2005 The cairomm Development Team
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
*/
#include <cairomm/surface.h>
#include <cairomm/private.h>
namespace Cairo
{
Surface::Surface(cairo_surface_t* cobject, bool has_reference)
: m_cobject(0)
{
if(has_reference)
m_cobject = cobject;
else
m_cobject = cairo_surface_reference(cobject);
}
Surface::~Surface()
{
if(m_cobject)
cairo_surface_destroy(m_cobject);
}
void Surface::finish()
{
cairo_surface_finish(m_cobject);
check_object_status_and_throw_exception(*this);
}
void Surface::get_font_options(FontOptions& options) const
{
cairo_font_options_t* cfontoptions = cairo_font_options_create();
cairo_surface_get_font_options(m_cobject, cfontoptions);
options = FontOptions(cfontoptions);
cairo_font_options_destroy(cfontoptions);
check_object_status_and_throw_exception(*this);
}
void Surface::flush()
{
cairo_surface_flush(m_cobject);
check_object_status_and_throw_exception(*this);
}
void Surface::mark_dirty()
{
cairo_surface_mark_dirty(m_cobject);
check_object_status_and_throw_exception(*this);
}
void Surface::mark_dirty(int x, int y, int width, int height)
{
cairo_surface_mark_dirty_rectangle(m_cobject, x, y, width, height);
check_object_status_and_throw_exception(*this);
}
void Surface::set_device_offset(double x_offset, double y_offset)
{
cairo_surface_set_device_offset(m_cobject, x_offset, y_offset);
check_object_status_and_throw_exception(*this);
}
void Surface::get_device_offset(double& x_offset, double& y_offset) const
{
cairo_surface_get_device_offset(const_cast<cobject*>(m_cobject), &x_offset, &y_offset);
}
void Surface::set_fallback_resolution(double x_pixels_per_inch, double y_pixels_per_inch)
{
cairo_surface_set_fallback_resolution(m_cobject, x_pixels_per_inch, y_pixels_per_inch);
check_object_status_and_throw_exception(*this);
}
SurfaceType Surface::get_type() const
{
cairo_surface_type_t surface_type = cairo_surface_get_type(m_cobject);
check_object_status_and_throw_exception(*this);
return static_cast<SurfaceType>(surface_type);
}
#ifdef CAIRO_HAS_PNG_FUNCTIONS
void Surface::write_to_png(const std::string& filename)
{
ErrorStatus status = cairo_surface_write_to_png(m_cobject, filename.c_str());
check_status_and_throw_exception(status);
}
void Surface::write_to_png(cairo_write_func_t write_func, void *closure)
{
ErrorStatus status = cairo_surface_write_to_png_stream(m_cobject, write_func, closure);
check_status_and_throw_exception(status);
}
#endif
void Surface::reference() const
{
cairo_surface_reference(m_cobject);
}
void Surface::unreference() const
{
cairo_surface_destroy(m_cobject);
}
RefPtr<Surface> Surface::create(const RefPtr<Surface> other, Content content, int width, int height)
{
cairo_surface_t* cobject = cairo_surface_create_similar(other->m_cobject, (cairo_content_t)content, width, height);
check_status_and_throw_exception(cairo_surface_status(cobject));
return RefPtr<Surface>(new Surface(cobject, true /* has reference */));
}
ImageSurface::ImageSurface(cairo_surface_t* cobject, bool has_reference)
: Surface(cobject, has_reference)
{ }
ImageSurface::~ImageSurface()
{
// surface is destroyed in base class
}
RefPtr<ImageSurface> ImageSurface::create(Format format, int width, int height)
{
cairo_surface_t* cobject = cairo_image_surface_create((cairo_format_t)format, width, height);
check_status_and_throw_exception(cairo_surface_status(cobject));
return RefPtr<ImageSurface>(new ImageSurface(cobject, true /* has reference */));
}
RefPtr<ImageSurface> ImageSurface::create(unsigned char* data, Format format, int width, int height, int stride)
{
cairo_surface_t* cobject = cairo_image_surface_create_for_data(data, (cairo_format_t)format, width, height, stride);
check_status_and_throw_exception(cairo_surface_status(cobject));
return RefPtr<ImageSurface>(new ImageSurface(cobject, true /* has reference */));
}
#ifdef CAIRO_HAS_PNG_FUNCTIONS
RefPtr<ImageSurface> ImageSurface::create_from_png(std::string filename)
{
cairo_surface_t* cobject = cairo_image_surface_create_from_png(filename.c_str());
check_status_and_throw_exception(cairo_surface_status(cobject));
return RefPtr<ImageSurface>(new ImageSurface(cobject, true /* has reference */));
}
RefPtr<ImageSurface> ImageSurface::create_from_png(cairo_read_func_t read_func, void *closure)
{
cairo_surface_t* cobject = cairo_image_surface_create_from_png_stream(read_func, closure);
check_status_and_throw_exception(cairo_surface_status(cobject));
return RefPtr<ImageSurface>(new ImageSurface(cobject, true /* has reference */));
}
#endif // CAIRO_HAS_PNG_FUNCTIONS
int ImageSurface::get_width() const
{
const int result = cairo_image_surface_get_width(m_cobject);
check_object_status_and_throw_exception(*this);
return result;
}
int ImageSurface::get_height() const
{
const int result = cairo_image_surface_get_height(m_cobject);
check_object_status_and_throw_exception(*this);
return result;
}
unsigned char* ImageSurface::get_data()
{
return cairo_image_surface_get_data(m_cobject);
}
const unsigned char* ImageSurface::get_data() const
{
return cairo_image_surface_get_data(m_cobject);
}
Format ImageSurface::get_format() const
{
return static_cast<Format>(cairo_image_surface_get_format(m_cobject));
}
int ImageSurface::get_stride() const
{
return cairo_image_surface_get_stride(m_cobject);
}
/*******************************************************************************
* THE FOLLOWING SURFACE TYPES ARE EXPERIMENTAL AND NOT FULLY SUPPORTED
******************************************************************************/
#ifdef CAIRO_HAS_PDF_SURFACE
PdfSurface::PdfSurface(cairo_surface_t* cobject, bool has_reference) :
Surface(cobject, has_reference)
{}
PdfSurface::~PdfSurface()
{
// surface is destroyed in base class
}
RefPtr<PdfSurface> PdfSurface::create(std::string filename, double width_in_points, double height_in_points)
{
cairo_surface_t* cobject = cairo_pdf_surface_create(filename.c_str(), width_in_points, height_in_points);
check_status_and_throw_exception(cairo_surface_status(cobject));
return RefPtr<PdfSurface>(new PdfSurface(cobject, true /* has reference */));
}
RefPtr<PdfSurface> PdfSurface::create(cairo_write_func_t write_func, void *closure, double width_in_points, double height_in_points)
{
cairo_surface_t* cobject = cairo_pdf_surface_create_for_stream(write_func, closure, width_in_points, height_in_points);
check_status_and_throw_exception(cairo_surface_status(cobject));
return RefPtr<PdfSurface>(new PdfSurface(cobject, true /* has reference */));
}
void PdfSurface::set_size(double width_in_points, double height_in_points)
{
cairo_pdf_surface_set_size(m_cobject, width_in_points, height_in_points);
check_object_status_and_throw_exception(*this);
}
#endif // CAIRO_HAS_PDF_SURFACE
#ifdef CAIRO_HAS_PS_SURFACE
PsSurface::PsSurface(cairo_surface_t* cobject, bool has_reference) :
Surface(cobject, has_reference)
{}
PsSurface::~PsSurface()
{
// surface is destroyed in base class
}
RefPtr<PsSurface> PsSurface::create(std::string filename, double width_in_points, double height_in_points)
{
cairo_surface_t* cobject = cairo_ps_surface_create(filename.c_str(), width_in_points, height_in_points);
check_status_and_throw_exception(cairo_surface_status(cobject));
return RefPtr<PsSurface>(new PsSurface(cobject, true /* has reference */));
}
RefPtr<PsSurface> PsSurface::create(cairo_write_func_t write_func, void *closure, double width_in_points, double height_in_points)
{
cairo_surface_t* cobject = cairo_ps_surface_create_for_stream(write_func, closure, width_in_points, height_in_points);
check_status_and_throw_exception(cairo_surface_status(cobject));
return RefPtr<PsSurface>(new PsSurface(cobject, true /* has reference */));
}
void PsSurface::set_size(double width_in_points, double height_in_points)
{
cairo_ps_surface_set_size(m_cobject, width_in_points, height_in_points);
check_object_status_and_throw_exception(*this);
}
void PsSurface::dsc_comment(std::string comment)
{
cairo_ps_surface_dsc_comment(m_cobject, comment.c_str());
check_object_status_and_throw_exception(*this);
}
void PsSurface::dsc_begin_setup()
{
cairo_ps_surface_dsc_begin_setup(m_cobject);
check_object_status_and_throw_exception(*this);
}
void PsSurface::dsc_begin_page_setup()
{
cairo_ps_surface_dsc_begin_page_setup(m_cobject);
check_object_status_and_throw_exception(*this);
}
#endif // CAIRO_HAS_PS_SURFACE
#ifdef CAIRO_HAS_SVG_SURFACE
SvgSurface::SvgSurface(cairo_surface_t* cobject, bool has_reference) :
Surface(cobject, has_reference)
{}
SvgSurface::~SvgSurface()
{
// surface is destroyed in base class
}
RefPtr<SvgSurface> SvgSurface::create(std::string filename, double width_in_points, double height_in_points)
{
cairo_surface_t* cobject = cairo_svg_surface_create(filename.c_str(), width_in_points, height_in_points);
check_status_and_throw_exception(cairo_surface_status(cobject));
return RefPtr<SvgSurface>(new SvgSurface(cobject, true /* has reference */));
}
RefPtr<SvgSurface> SvgSurface::create(cairo_write_func_t write_func, void *closure, double width_in_points, double height_in_points)
{
cairo_surface_t* cobject = cairo_svg_surface_create_for_stream(write_func, closure, width_in_points, height_in_points);
check_status_and_throw_exception(cairo_surface_status(cobject));
return RefPtr<SvgSurface>(new SvgSurface(cobject, true /* has reference */));
}
void SvgSurface::restrict_to_version(SvgVersion version)
{
cairo_svg_surface_restrict_to_version(m_cobject, static_cast<cairo_svg_version_t>(version));
check_object_status_and_throw_exception(*this);
}
const std::vector<SvgVersion> SvgSurface::get_versions()
{
cairo_svg_version_t const *versions;
int num_versions;
cairo_svg_get_versions(&versions, &num_versions);
// Just copy the version array out into a std::vector. This is a rarely used
// function and the array of versions is going to be very small, so there's no
// real performance hit.
std::vector<SvgVersion> vec;
for (int i = 0; i < num_versions; ++i)
{
vec.push_back(static_cast<SvgVersion>(versions[i]));
}
return vec;
}
std::string SvgSurface::version_to_string(SvgVersion version)
{
return std::string(cairo_svg_version_to_string(static_cast<cairo_svg_version_t>(version)));
}
#endif // CAIRO_HAS_SVG_SURFACE
#ifdef CAIRO_HAS_GLITZ_SURFACE
GlitzSurface::GlitzSurface(cairo_surface_t* cobject, bool has_reference)
: Surface(cobject, has_reference)
{ }
GlitzSurface::~GlitzSurface()
{
// surface is destroyed in base class
}
RefPtr<GlitzSurface> GlitzSurface::create(glitz_surface_t *surface)
{
cairo_surface_t* cobject = cairo_glitz_surface_create(surface);
check_status_and_throw_exception(cairo_surface_status(cobject));
return RefPtr<GlitzSurface>(new GlitzSurface(cobject, true /* has reference */));
}
#endif // CAIRO_HAS_GLITZ_SURFACE
} //namespace Cairo
// vim: ts=2 sw=2 et

View File

@ -1,632 +0,0 @@
/* Copyright (C) 2005 The cairomm Development Team
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
*/
#ifndef __CAIROMM_SURFACE_H
#define __CAIROMM_SURFACE_H
#include <string>
#include <vector>
#include <cairomm/enums.h>
#include <cairomm/exception.h>
#include <cairomm/fontoptions.h>
#include <cairomm/refptr.h>
//See xlib_surface.h for XlibSurface.
//See win32_surface.h for Win32Surface.
//See quartz_surface.h for QuartzSurface (Mac OS X).
#ifdef CAIRO_HAS_PDF_SURFACE
#include <cairo-pdf.h>
#endif // CAIRO_HAS_PDF_SURFACE
#ifdef CAIRO_HAS_PS_SURFACE
#include <cairo-ps.h>
#endif // CAIRO_HAS_PS_SURFACE
#ifdef CAIRO_HAS_SVG_SURFACE
#include <cairo-svg.h>
#endif // CAIRO_HAS_SVG_SURFACE
// Experimental surfaces
#ifdef CAIRO_HAS_GLITZ_SURFACE
#include <cairo-glitz.h>
#endif // CAIRO_HAS_GLITZ_SURFACE
namespace Cairo
{
/** A cairo surface represents an image, either as the destination of a drawing
* operation or as source when drawing onto another surface. There are
* different subtypes of cairo surface for different drawing backends. This
* class is a base class for all subtypes and should not be used directly
*
* Surfaces are reference-counted objects that should be used via Cairo::RefPtr.
*/
class Surface
{
public:
/** Create a C++ wrapper for the C instance. This C++ instance should then be
* given to a RefPtr.
*
* @param cobject The C instance.
* @param has_reference Whether we already have a reference. Otherwise, the
* constructor will take an extra reference.
*/
explicit Surface(cairo_surface_t* cobject, bool has_reference = false);
virtual ~Surface();
/** Retrieves the default font rendering options for the surface. This allows
* display surfaces to report the correct subpixel order for rendering on
* them, print surfaces to disable hinting of metrics and so forth. The
* result can then be used with cairo_scaled_font_create().
*
* @param options a FontOptions object into which to store the retrieved
* options. All existing values are overwritten
*/
void get_font_options(FontOptions& options) const;
/** This function finishes the surface and drops all references to external
* resources. For example, for the Xlib backend it means that cairo will no
* longer access the drawable, which can be freed. After calling
* finish() the only valid operations on a surface are getting and setting
* user data and referencing and destroying it. Further drawing to the
* surface will not affect the surface but will instead trigger a
* CAIRO_STATUS_SURFACE_FINISHED error.
*
* When the Surface is destroyed, cairo will call finish() if it hasn't been
* called already, before freeing the resources associated with the Surface.
*/
void finish();
/** Do any pending drawing for the surface and also restore any temporary
* modifications cairo has made to the surface's state. This function must
* be called before switching from drawing on the surface with cairo to
* drawing on it directly with native APIs. If the surface doesn't support
* direct access, then this function does nothing.
*/
void flush();
/** Tells cairo to consider the data buffer dirty.
*
* In particular, if you've created an ImageSurface with a data buffer that
* you've allocated yourself and you draw to that data buffer using means
* other than cairo, you must call mark_dirty() before doing any additional
* drawing to that surface with cairo.
*
* Note that if you do draw to the Surface outside of cairo, you must call
* flush() before doing the drawing.
*/
void mark_dirty();
/** Marks a rectangular area of the given surface dirty.
*
* @param x X coordinate of dirty rectangle
* @param y Y coordinate of dirty rectangle
* @param width width of dirty rectangle
* @param height height of dirty rectangle
*/
void mark_dirty(int x, int y, int width, int height);
/** Sets an offset that is added to the device coordinates determined by the
* CTM when drawing to surface. One use case for this function is when we
* want to create a Surface that redirects drawing for a portion of
* an onscreen surface to an offscreen surface in a way that is completely
* invisible to the user of the cairo API. Setting a transformation via
* cairo_translate() isn't sufficient to do this, since functions like
* Cairo::Context::device_to_user() will expose the hidden offset.
*
* Note that the offset only affects drawing to the surface, not using the
* surface in a surface pattern.
*
* @param x_offset the offset in the X direction, in device units
* @param y_offset the offset in the Y direction, in device units
*/
void set_device_offset(double x_offset, double y_offset);
/** Returns a previous device offset set by set_device_offset().
*/
void get_device_offset(double& x_offset, double& y_offset) const;
/** Sets the fallback resolution of the image in dots per inch
*
* @param x_pixels_per_inch Pixels per inch in the x direction
* @param y_pixels_per_inch Pixels per inch in the y direction
*/
void set_fallback_resolution(double x_pixels_per_inch, double y_pixels_per_inch);
SurfaceType get_type() const;
#ifdef CAIRO_HAS_PNG_FUNCTIONS
/** Writes the contents of surface to a new file filename as a PNG image.
*
* @note For this function to be available, cairo must have been compiled
* with PNG support
*
* @param filename the name of a file to write to
*/
void write_to_png(const std::string& filename);
/** Writes the Surface to the write function.
*
* @note For this function to be available, cairo must have been compiled
* with PNG support
*
* @param write_func The function to be called when the backend needs to
* write data to an output stream
* @param closure closure data for the write function
*/
void write_to_png(cairo_write_func_t write_func, void *closure); //TODO: Use a sigc::slot?
#endif // CAIRO_HAS_PNG_FUNCTIONS
/** The underlying C cairo surface type
*/
typedef cairo_surface_t cobject;
/** Provides acces to the underlying C cairo surface
*/
inline cobject* cobj() { return m_cobject; }
/** Provides acces to the underlying C cairo surface
*/
inline const cobject* cobj() const { return m_cobject; }
#ifndef DOXYGEN_IGNORE_THIS
///For use only by the cairomm implementation.
inline ErrorStatus get_status() const
{ return cairo_surface_status(const_cast<cairo_surface_t*>(cobj())); }
void reference() const;
void unreference() const;
#endif //DOXYGEN_IGNORE_THIS
/** Create a new surface that is as compatible as possible with an existing
* surface. The new surface will use the same backend as other unless that is
* not possible for some reason.
*
* @param other an existing surface used to select the backend of the new surface
* @param content the content for the new surface
* @param width width of the new surface, (in device-space units)
* @param height height of the new surface (in device-space units)
* @return a RefPtr to the newly allocated surface.
*/
static RefPtr<Surface> create(const RefPtr<Surface> other, Content content, int width, int height);
protected:
/** The underlying C cairo surface type that is wrapped by this Surface
*/
cobject* m_cobject;
};
/** Image surfaces provide the ability to render to memory buffers either
* allocated by cairo or by the calling code. The supported image formats are
* those defined in Cairo::Format
*
* An ImageSurface is the most generic type of Surface and the only one that is
* available by default. You can either create an ImageSurface whose data is
* managed by Cairo, or you can create an ImageSurface with a data buffer that
* you allocated yourself so that you can have full access to the data.
*
* When you create an ImageSurface with your own data buffer, you are free to
* examine the results at any point and do whatever you want with it. Note that
* if you modify anything and later want to continue to draw to the surface
* with cairo, you must let cairo know via Cairo::Surface::mark_dirty()
*
* Note that like all surfaces, an ImageSurface is a reference-counted object that should be used via Cairo::RefPtr.
*/
class ImageSurface : public Surface
{
protected:
//TODO?: Surface(cairo_surface_t *target);
public:
/** Create a C++ wrapper for the C instance. This C++ instance should then be
* given to a RefPtr.
* @param cobject The C instance.
* @param has_reference Whether we already have a reference. Otherwise, the
* constructor will take an extra reference.
*/
explicit ImageSurface(cairo_surface_t* cobject, bool has_reference = false);
virtual ~ImageSurface();
/** Gets the width of the ImageSurface in pixels
*/
int get_width() const;
/** Gets the height of the ImageSurface in pixels
*/
int get_height() const;
/**
* Get a pointer to the data of the image surface, for direct
* inspection or modification.
*
* Return value: a pointer to the image data of this surface or NULL
* if @surface is not an image surface.
*/
unsigned char* get_data();
const unsigned char* get_data() const;
/** gets the format of the surface
*/
Format get_format() const;
/**
* Return value: the stride of the image surface in bytes (or 0 if
* @surface is not an image surface). The stride is the distance in
* bytes from the beginning of one row of the image data to the
* beginning of the next row.
*/
int get_stride() const;
/** Creates an image surface of the specified format and dimensions. The
* initial contents of the surface is undefined; you must explicitely clear
* the buffer, using, for example, Cairo::Context::rectangle() and
* Cairo::Context::fill() if you want it cleared.
*
* Use this function to create the surface if you don't need access to the
* internal data and want cairo to manage it for you. Since you don't have
* access to the internal data, the resulting surface can only be saved to a
* PNG image file (if cairo has been compiled with PNG support) or as a
* source surface (see Cairo::SurfacePattern).
*
* @param format format of pixels in the surface to create
* @param width width of the surface, in pixels
* @param height height of the surface, in pixels
* @return a RefPtr to the newly created surface.
*/
static RefPtr<ImageSurface> create(Format format, int width, int height);
/** Creates an image surface for the provided pixel data. The output buffer
* must be kept around until the Surface is destroyed or finish() is called
* on the surface. The initial contents of buffer will be used as the inital
* image contents; you must explicitely clear the buffer, using, for example,
* Cairo::Context::rectangle() and Cairo::Context::fill() if you want it
* cleared.
*
* If you want to be able to manually manipulate or extract the data after
* drawing to the surface with Cairo, you should use this function to create
* the Surface. Since you own the internal data, you can do anything you
* want with it.
*
* @param data a pointer to a buffer supplied by the application in which
* to write contents.
* @param format the format of pixels in the buffer
* @param width the width of the image to be stored in the buffer
* @param height the height of the image to be stored in the buffer
* @param stride the number of bytes between the start of rows in the
* buffer. Having this be specified separate from width allows for padding at
* the end of rows, or for writing to a subportion of a larger image.
* @return a RefPtr to the newly created surface.
*/
static RefPtr<ImageSurface> create(unsigned char* data, Format format, int width, int height, int stride);
#ifdef CAIRO_HAS_PNG_FUNCTIONS
/** Creates a new image surface and initializes the contents to the given PNG
* file.
*
* @note For this function to be available, cairo must have been compiled
* with PNG support.
*
* @param filename name of PNG file to load
* @return a RefPtr to the new cairo_surface_t initialized with the
* contents of the PNG image file.
*/
static RefPtr<ImageSurface> create_from_png(std::string filename);
/** Creates a new image surface from PNG data read incrementally via the
* read_func function.
*
* @note For this function to be available, cairo must have been compiled
* with PNG support.
*
* @param read_func function called to read the data of the file
* @param closure data to pass to read_func.
* @return a RefPtr to the new cairo_surface_t initialized with the
* contents of the PNG image file.
*/
static RefPtr<ImageSurface> create_from_png(cairo_read_func_t read_func, void *closure);
#endif // CAIRO_HAS_PNG_FUNCTIONS
};
#ifdef CAIRO_HAS_PDF_SURFACE
/** A PdfSurface provides a way to render PDF documents from cairo. This
* surface is not rendered to the screen but instead renders the drawing to a
* PDF file on disk.
*
* @note For this Surface to be available, cairo must have been compiled with
* PDF support
*/
class PdfSurface : public Surface
{
public:
/** Create a C++ wrapper for the C instance. This C++ instance should then be
* given to a RefPtr.
*
* @param cobject The C instance.
* @param has_reference whether we already have a reference. Otherwise, the
* constructor will take an extra reference.
*/
explicit PdfSurface(cairo_surface_t* cobject, bool has_reference = false);
virtual ~PdfSurface();
/** Creates a PdfSurface with a specified dimensions that will be saved as
* the given filename
*
* @param filename The name of the PDF file to save the surface to
* @param width_in_points The width of the PDF document in points
* @param height_in_points The height of the PDF document in points
*/
static RefPtr<PdfSurface> create(std::string filename, double width_in_points, double height_in_points);
/** Creates a PdfSurface with a specified dimensions that will be written to
* the given write function instead of saved directly to disk
*
* @param write_func The function to be called when the backend needs to
* write data to an output stream
* @param closure closure data for the write function
* @param width_in_points The width of the PDF document in points
* @param height_in_points The height of the PDF document in points
*/
static RefPtr<PdfSurface> create(cairo_write_func_t write_func, void *closure, double width_in_points, double height_in_points);
/**
* Changes the size of a PDF surface for the current (and subsequent) pages.
*
* This function should only be called before any drawing operations have been
* performed on the current page. The simplest way to do this is to call this
* function immediately after creating the surface or immediately after
* completing a page with either Context::show_page() or Context::copy_page().
*
* @param width_in_points new surface width, in points (1 point == 1/72.0 inch)
* @param height_in_points new surface height, in points (1 point == 1/72.0 inch)
**/
void set_size(double width_in_points, double height_in_points);
};
#endif // CAIRO_HAS_PDF_SURFACE
#ifdef CAIRO_HAS_PS_SURFACE
/** A PsSurface provides a way to render PostScript documents from cairo. This
* surface is not rendered to the screen but instead renders the drawing to a
* PostScript file on disk.
*
* @note For this Surface to be available, cairo must have been compiled with
* PostScript support
*/
class PsSurface : public Surface
{
public:
/** Create a C++ wrapper for the C instance. This C++ instance should then be
* given to a RefPtr.
*
* @param cobject The C instance.
* @param has_reference whether we already have a reference. Otherwise, the
* constructor will take an extra reference.
*/
explicit PsSurface(cairo_surface_t* cobject, bool has_reference = false);
virtual ~PsSurface();
/** Creates a PsSurface with a specified dimensions that will be saved as the
* given filename
*
* @param filename The name of the PostScript file to save the surface to
* @param width_in_points The width of the PostScript document in points
* @param height_in_points The height of the PostScript document in points
*/
static RefPtr<PsSurface> create(std::string filename, double width_in_points, double height_in_points);
/** Creates a PsSurface with a specified dimensions that will be written to
* the given write function instead of saved directly to disk
*
* @param write_func The function to be called when the backend needs to
* write data to an output stream
* @param closure closure data for the write function
* @param width_in_points The width of the PostScript document in points
* @param height_in_points The height of the PostScript document in points
*/
static RefPtr<PsSurface> create(cairo_write_func_t write_func, void *closure, double width_in_points, double height_in_points);
/**
* Changes the size of a PostScript surface for the current (and
* subsequent) pages.
*
* This function should only be called before any drawing operations have been
* performed on the current page. The simplest way to do this is to call this
* function immediately after creating the surface or immediately after
* completing a page with either Context::show_page() or Context::copy_page().
*
* @param width_in_points new surface width, in points (1 point == 1/72.0 inch)
* @param height_in_points new surface height, in points (1 point == 1/72.0 inch)
*/
void set_size(double width_in_points, double height_in_points);
/** Emit a comment into the PostScript output for the given surface. See the
* cairo reference documentation for more information.
*
* @param comment a comment string to be emitted into the PostScript output
*/
void dsc_comment(std::string comment);
/**
* This function indicates that subsequent calls to dsc_comment() should direct
* comments to the Setup section of the PostScript output.
*
* This function should be called at most once per surface, and must be called
* before any call to dsc_begin_page_setup() and before any drawing is performed
* to the surface.
*/
void dsc_begin_setup();
/** This function indicates that subsequent calls to dsc_comment() should
* direct comments to the PageSetup section of the PostScript output.
*
* This function call is only needed for the first page of a surface. It
* should be called after any call to dsc_begin_setup() and before any drawing
* is performed to the surface.
*/
void dsc_begin_page_setup();
};
#endif // CAIRO_HAS_PS_SURFACE
#ifdef CAIRO_HAS_SVG_SURFACE
typedef enum
{
SVG_VERSION_1_1 = CAIRO_SVG_VERSION_1_1,
SVG_VERSION_1_2 = CAIRO_SVG_VERSION_1_2
} SvgVersion;
/** A SvgSurface provides a way to render Scalable Vector Graphics (SVG) images
* from cairo. This surface is not rendered to the screen but instead renders
* the drawing to an SVG file on disk.
*
* @note For this Surface to be available, cairo must have been compiled with
* SVG support
*/
class SvgSurface : public Surface
{
public:
/** Create a C++ wrapper for the C instance. This C++ instance should then be
* given to a RefPtr.
*
* @param cobject The C instance.
* @param has_reference whether we already have a reference. Otherwise, the
* constructor will take an extra reference.
*/
explicit SvgSurface(cairo_surface_t* cobject, bool has_reference = false);
virtual ~SvgSurface();
/** Creates a SvgSurface with a specified dimensions that will be saved as the
* given filename
*
* @param filename The name of the SVG file to save the surface to
* @param width_in_points The width of the SVG document in points
* @param height_in_points The height of the SVG document in points
*/
static RefPtr<SvgSurface> create(std::string filename, double width_in_points, double height_in_points);
/** Creates a SvgSurface with a specified dimensions that will be written to
* the given write function instead of saved directly to disk
*
* @param write_func The function to be called when the backend needs to
* write data to an output stream
* @param closure closure data for the write function
* @param width_in_points The width of the SVG document in points
* @param height_in_points The height of the SVG document in points
*/
static RefPtr<SvgSurface> create(cairo_write_func_t write_func, void *closure, double width_in_points, double height_in_points);
/**
* Restricts the generated SVG file to the given version. See get_versions()
* for a list of available version values that can be used here.
*
* This function should only be called before any drawing operations have been
* performed on the given surface. The simplest way to do this is to call this
* function immediately after creating the surface.
*
* @since 1.2
*/
void restrict_to_version(SvgVersion version);
/** Retrieves the list of SVG versions supported by cairo. See
* restrict_to_version().
*
* @since 1.2
*/
static const std::vector<SvgVersion> get_versions();
/** Get the string representation of the given version id. The returned string
* will be empty if version isn't valid. See get_versions() for a way to get
* the list of valid version ids.
*
* Since: 1.2
*/
static std::string version_to_string(SvgVersion version);
};
#endif // CAIRO_HAS_SVG_SURFACE
/*******************************************************************************
* THE FOLLOWING SURFACE TYPES ARE EXPERIMENTAL AND NOT FULLY SUPPORTED
******************************************************************************/
#ifdef CAIRO_HAS_GLITZ_SURFACE
/** A GlitzSurface provides a way to render to the X Window System using Glitz.
* This provides a way to use OpenGL-accelerated graphics from cairo. If you
* want to use hardware-accelerated graphics within the X Window system, you
* should use this Surface type.
*
* @note For this Surface to be available, cairo must have been compiled with
* Glitz support
*
* @warning This is an experimental surface. It is not yet marked as a fully
* supported surface by the cairo library
*/
class GlitzSurface : public Surface
{
public:
/** Create a C++ wrapper for the C instance. This C++ instance should then be
* given to a RefPtr.
*
* @param cobject The C instance.
* @param has_reference whether we already have a reference. Otherwise, the
* constructor will take an extra reference.
*/
explicit GlitzSurface(cairo_surface_t* cobject, bool has_reference = false);
virtual ~GlitzSurface();
/** Creates a new GlitzSurface
*
* @param surface a glitz surface type
*/
static RefPtr<GlitzSurface> create(glitz_surface_t *surface);
};
#endif // CAIRO_HAS_GLITZ_SURFACE
} // namespace Cairo
#endif //__CAIROMM_SURFACE_H
// vim: ts=2 sw=2 et

View File

@ -1,59 +0,0 @@
/* Copyright (C) 2005 The cairomm Development Team
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
*/
#include <cairomm/win32_surface.h>
#include <cairomm/private.h>
namespace Cairo
{
#ifdef CAIRO_HAS_WIN32_SURFACE
Win32Surface::Win32Surface(cairo_surface_t* cobject, bool has_reference) :
Surface(cobject, has_reference)
{}
Win32Surface::~Win32Surface()
{
// surface is destroyed in base class
}
HDC Win32Surface::get_dc() const
{
return cairo_win32_surface_get_dc(m_cobject);
}
RefPtr<Win32Surface> Win32Surface::create(HDC hdc)
{
cairo_surface_t* cobject = cairo_win32_surface_create(hdc);
check_status_and_throw_exception(cairo_surface_status(cobject));
return RefPtr<Win32Surface>(new Win32Surface(cobject, true /* has reference */));
}
RefPtr<Win32Surface> Win32Surface::create(Format format, int width, int height)
{
cairo_surface_t* cobject = cairo_win32_surface_create_with_dib((cairo_format_t)format, width, height);
check_status_and_throw_exception(cairo_surface_status(cobject));
return RefPtr<Win32Surface>(new Win32Surface(cobject, true /* has reference */));
}
#endif // CAIRO_HAS_WIN32_SURFACE
} //namespace Cairo
// vim: ts=2 sw=2 et

View File

@ -1,96 +0,0 @@
/* Copyright (C) 2005 The cairomm Development Team
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
*/
#ifndef __CAIROMM_WIN32_SURFACE_H
#define __CAIROMM_WIN32_SURFACE_H
#include <cairomm/surface.h>
#include <cairomm/enums.h>
#ifdef CAIRO_HAS_WIN32_SURFACE
#include <cairo-win32.h>
#endif
// This header is not included by cairomm.h because it requires Windows headers that
// tend to pollute the namespace with non-prefixed #defines and typedefs.
// You may include it directly if you need to use this API.
namespace Cairo
{
#ifdef CAIRO_HAS_WIN32_SURFACE
/** A Win32Surface provides a way to render within Microsoft Windows. If you
* want to draw to the screen within a Microsoft Windows application, you
* should use this Surface type.
*
* @note For this Surface to be available, cairo must have been compiled with
* Win32 support
*/
class Win32Surface : public Surface
{
public:
/** Create a C++ wrapper for the C instance. This C++ instance should then be
* given to a RefPtr.
*
* @param cobject The C instance.
* @param has_reference whether we already have a reference. Otherwise, the
* constructor will take an extra reference.
*/
explicit Win32Surface(cairo_surface_t* cobject, bool has_reference = false);
virtual ~Win32Surface();
/** Returns the HDC associated with this surface, or NULL if none. Also
* returns NULL if the surface is not a win32 surface.
*
* @return HDC or NULL if no HDC available.
*/
HDC get_dc() const;
/** Creates a cairo surface that targets the given DC. The DC will be queried
* for its initial clip extents, and this will be used as the size of the
* cairo surface. Also, if the DC is a raster DC, it will be queried for its
* pixel format and the cairo surface format will be set appropriately.
*
* @param hdc the DC to create a surface for
* @return the newly created surface
*/
static RefPtr<Win32Surface> create(HDC hdc);
/** Creates a device-independent-bitmap surface not associated with any
* particular existing surface or device context. The created bitmap will be
* unititialized.
*
* @param format format of pixels in the surface to create
* @param width width of the surface, in pixels
* @param height height of the surface, in pixels
* @return the newly created surface
*/
static RefPtr<Win32Surface> create(Format format, int width, int height);
};
#endif // CAIRO_HAS_WIN32_SURFACE
} // namespace Cairo
#endif //__CAIROMM_WIN32_SURFACE_H
// vim: ts=2 sw=2 et

View File

@ -1,137 +0,0 @@
/* Copyright (C) 2005 The cairomm Development Team
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
*/
#include <cairomm/xlib_surface.h>
#include <cairomm/private.h>
namespace Cairo
{
#ifdef CAIRO_HAS_XLIB_SURFACE
XlibSurface::XlibSurface(cairo_surface_t* cobject, bool has_reference) :
Surface(cobject, has_reference)
{}
XlibSurface::~XlibSurface()
{
// surface is destroyed in base class
}
RefPtr<XlibSurface> XlibSurface::create(Display* dpy, Drawable drawable, Visual* visual, int width, int height)
{
cairo_surface_t* cobject = cairo_xlib_surface_create(dpy, drawable, visual, width, height);
check_status_and_throw_exception(cairo_surface_status(cobject));
return RefPtr<XlibSurface>(new XlibSurface(cobject, true /* has reference */));
}
RefPtr<XlibSurface> XlibSurface::create(Display* dpy, Pixmap bitmap, Screen* screen, int width, int height)
{
cairo_surface_t* cobject = cairo_xlib_surface_create_for_bitmap(dpy, bitmap, screen, width, height);
check_status_and_throw_exception(cairo_surface_status(cobject));
return RefPtr<XlibSurface>(new XlibSurface(cobject, true /* has reference */));
}
void XlibSurface::set_size(int width, int height)
{
cairo_xlib_surface_set_size(m_cobject, width, height);
check_object_status_and_throw_exception(*this);
}
void XlibSurface::set_drawable(Drawable drawable, int width, int height)
{
cairo_xlib_surface_set_drawable(m_cobject, drawable, width, height);
check_object_status_and_throw_exception(*this);
}
Drawable XlibSurface::get_drawable() const
{
Drawable drawable = cairo_xlib_surface_get_drawable(m_cobject);
check_object_status_and_throw_exception(*this);
return drawable;
}
const Display* XlibSurface::get_display() const
{
const Display* dpy = cairo_xlib_surface_get_display(m_cobject);
check_object_status_and_throw_exception(*this);
return dpy;
}
Display* XlibSurface::get_display()
{
Display* dpy = cairo_xlib_surface_get_display(m_cobject);
check_object_status_and_throw_exception(*this);
return dpy;
}
Screen* XlibSurface::get_screen()
{
Screen* screen = cairo_xlib_surface_get_screen(m_cobject);
check_object_status_and_throw_exception(*this);
return screen;
}
const Screen* XlibSurface::get_screen() const
{
const Screen* screen = cairo_xlib_surface_get_screen(m_cobject);
check_object_status_and_throw_exception(*this);
return screen;
}
Visual* XlibSurface::get_visual()
{
Visual* visual = cairo_xlib_surface_get_visual(m_cobject);
check_object_status_and_throw_exception(*this);
return visual;
}
const Visual* XlibSurface::get_visual() const
{
const Visual* visual = cairo_xlib_surface_get_visual(m_cobject);
check_object_status_and_throw_exception(*this);
return visual;
}
int XlibSurface::get_depth() const
{
int depth = cairo_xlib_surface_get_depth(m_cobject);
check_object_status_and_throw_exception(*this);
return depth;
}
int XlibSurface::get_height() const
{
int h = cairo_xlib_surface_get_height(m_cobject);
check_object_status_and_throw_exception(*this);
return h;
}
int XlibSurface::get_width() const
{
int w = cairo_xlib_surface_get_width(m_cobject);
check_object_status_and_throw_exception(*this);
return w;
}
#endif // CAIRO_HAS_XLIB_SURFACE
} //namespace Cairo
// vim: ts=2 sw=2 et

View File

@ -1,148 +0,0 @@
/* Copyright (C) 2005 The cairomm Development Team
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Library General Public
* License as published by the Free Software Foundation; either
* version 2 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
*
* You should have received a copy of the GNU Library General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
*/
#ifndef __CAIROMM_XLIB_SURFACE_H
#define __CAIROMM_XLIB_SURFACE_H
#include <cairomm/surface.h>
// This header is not included by cairomm.h because it requires X headers that
// tend to pollute the namespace with non-prefixed #defines and typedefs.
// You may include it directly if you need to use this API.
#ifdef CAIRO_HAS_XLIB_SURFACE
#include <cairo-xlib.h> //Needed for the X11 "Display" struct (which pollutes the namespace because it has no prefix.)
#endif
namespace Cairo
{
#ifdef CAIRO_HAS_XLIB_SURFACE
/** An XlibSurface provides a way to render to the X Window System using XLib.
* If you want to draw to the screen within an application that uses the X
* Window system, you should use this Surface type.
*
* @note For this surface to be availabe, cairo must have been compiled with
* support for XLib Surfaces
*/
class XlibSurface : public Surface
{
public:
/** Create a C++ wrapper for the C instance. This C++ instance should then be
* given to a RefPtr.
*
* @param cobject The C instance.
* @param has_reference whether we already have a reference. Otherwise, the
* constructor will take an extra reference.
*/
explicit XlibSurface(cairo_surface_t* cobject, bool has_reference = false);
virtual ~XlibSurface();
/** Creates an Xlib surface that draws to the given drawable. The way that
* colors are represented in the drawable is specified by the provided
* visual.
*
* @note If drawable is a Window, then the function
* cairo_xlib_surface_set_size must be called whenever the size of the window
* changes.
*
* @param dpy an X Display
* @param drawable an X Drawable, (a Pixmap or a Window)
* @param visual the visual to use for drawing to drawable. The depth of the visual must match the depth of the drawable. Currently, only TrueColor visuals are fully supported.
* @param width the current width of drawable.
* @param height the current height of drawable.
* @return A RefPtr to the newly created surface
*/
static RefPtr<XlibSurface> create(Display* dpy, Drawable drawable, Visual* visual, int width, int height);
/** Creates an Xlib surface that draws to the given bitmap. This will be
* drawn to as a CAIRO_FORMAT_A1 object.
*
* @param dpy an X Display
* @param bitmap an X Drawable, (a depth-1 Pixmap)
* @param screen the X Screen associated with bitmap
* @param width the current width of bitmap.
* @param height the current height of bitmap.
* @return A RefPtr to the newly created surface
*/
static RefPtr<XlibSurface> create(Display *dpy, Pixmap bitmap, Screen *screen, int width, int height);
/** Informs cairo of the new size of the X Drawable underlying the surface.
* For a surface created for a Window (rather than a Pixmap), this function
* must be called each time the size of the window changes. (For a subwindow,
* you are normally resizing the window yourself, but for a toplevel window,
* it is necessary to listen for ConfigureNotify events.)
*
* A Pixmap can never change size, so it is never necessary to call this
* function on a surface created for a Pixmap.
*
* @param width the new width of the surface
* @param height the new height of the surface
*/
void set_size(int width, int height);
/** Informs cairo of a new X Drawable underlying the surface. The drawable
* must match the display, screen and format of the existing drawable or the
* application will get X protocol errors and will probably terminate. No
* checks are done by this function to ensure this compatibility.
*
* @param drawable the new drawable for the surface
* @param width the width of the new drawable
* @param height the height of the new drawable
*/
void set_drawable(Drawable drawable, int width, int height);
/** gets the Drawable object associated with this surface */
Drawable get_drawable() const;
/** Get the X Display for the underlying X Drawable. */
const Display* get_display() const;
/** Get the X Display for the underlying X Drawable. */
Display* get_display();
/** Get the X Screen for the underlying X Drawable */
Screen* get_screen();
/** Get the X Screen for the underlying X Drawable */
const Screen* get_screen() const;
/** Get the X Visual for the underlying X Drawable */
Visual* get_visual();
/** Get the X Visual for the underlying X Drawable */
const Visual* get_visual() const;
/** Get the number of bits used to represent each pixel value. */
int get_depth() const;
/** Get the height in pixels of the X Drawable underlying the surface */
int get_height() const;
/** Get the width in pixels of the X Drawable underlying the surface */
int get_width() const;
};
#endif // CAIRO_HAS_XLIB_SURFACE
} // namespace Cairo
#endif //__CAIROMM_XLIB_SURFACE_H
// vim: ts=2 sw=2 et

File diff suppressed because it is too large Load Diff

1622
libs/cairomm/config.sub vendored

File diff suppressed because it is too large Load Diff

22654
libs/cairomm/configure vendored

File diff suppressed because it is too large Load Diff

View File

@ -1,189 +0,0 @@
AC_INIT(cairomm/cairomm.h)
#release versioning
GENERIC_MAJOR_VERSION=1
GENERIC_MINOR_VERSION=4
GENERIC_MICRO_VERSION=6
GENERIC_VERSION=$GENERIC_MAJOR_VERSION.$GENERIC_MINOR_VERSION.$GENERIC_MICRO_VERSION
AC_SUBST(GENERIC_MAJOR_VERSION)
AC_SUBST(GENERIC_MINOR_VERSION)
AC_SUBST(GENERIC_MICRO_VERSION)
AC_SUBST(GENERIC_VERSION)
#shared library versioning
GENERIC_LIBRARY_VERSION=2:0:1
# | | |
# +------+ | +---+
# | | |
# current:revision:age
# | | |
# | | +- increment if interfaces have been added
# | | set to zero if interfaces have been removed
# or changed
# | +- increment if source code has changed
# | set to zero if current is incremented
# +- increment if interfaces have been added, removed or changed
AC_SUBST(GENERIC_LIBRARY_VERSION)
VERSION=$GENERIC_VERSION
AM_INIT_AUTOMAKE(cairomm, $GENERIC_VERSION)
AM_CONFIG_HEADER(cairomm/cairommconfig.h)
AC_PROG_CXX
AC_PROG_CXXCPP
AC_LANG_CPLUSPLUS
AC_PROG_INSTALL
AC_LIBTOOL_WIN32_DLL
AM_PROG_LIBTOOL
dnl Used for enabling the "-no-undefined" and "-export-all-symbols" flags
dnl while generating DLLs. Borrowed from the official gtk+-2 configure.in
AC_MSG_CHECKING([for some Win32 platform])
case "$host" in
*-*-mingw*|*-*-cygwin*)
platform_win32=yes
;;
*)
platform_win32=no
;;
esac
AC_MSG_RESULT([$platform_win32])
AM_CONDITIONAL(PLATFORM_WIN32, test "$platform_win32" = "yes")
AC_MSG_CHECKING([for native Win32])
case "$host" in
*-*-mingw*)
os_win32=yes
;;
*)
os_win32=no
;;
esac
AC_MSG_RESULT([$os_win32])
AM_CONDITIONAL(OS_WIN32, test "$os_win32" = "yes")
# Ensure MSVC-compatible struct packing convention is used when
# compiling for Win32 with gcc.
# What flag to depends on gcc version: gcc3 uses "-mms-bitfields", while
# gcc2 uses "-fnative-struct".
if test x"$os_win32" = xyes; then
if test x"$GCC" = xyes; then
msnative_struct=''
AC_MSG_CHECKING([how to get MSVC-compatible struct packing])
if test -z "$ac_cv_prog_CC"; then
our_gcc="$CC"
else
our_gcc="$ac_cv_prog_CC"
fi
case `$our_gcc --version | sed -e 's,\..*,.,' -e q` in
2.)
if $our_gcc -v --help 2>/dev/null | grep fnative-struct >/dev/null; then
msnative_struct='-fnative-struct'
fi
;;
*)
if $our_gcc -v --help 2>/dev/null | grep ms-bitfields >/dev/null; then
msnative_struct='-mms-bitfields'
fi
;;
esac
if test x"$msnative_struct" = x ; then
AC_MSG_RESULT([no way])
AC_MSG_WARN([produced libraries might be incompatible with MSVC-compiled code])
else
CXXFLAGS="$CXXFLAGS $msnative_struct"
AC_MSG_RESULT([${msnative_struct}])
fi
fi
fi
AC_CHECK_HEADERS(string list map, , exit)
PKG_CHECK_MODULES(CAIROMM, cairo >= 1.4)
AC_ARG_ENABLE(tests,
AC_HELP_STRING([--enable-tests=yes|no],
[enable automated tests (default is no)]),
ENABLE_TESTS=$enableval,
ENABLE_TESTS=no)
if test x$CAIROMM_DEVEL = xon ; then
ENABLE_TESTS=yes
fi
if test x$ENABLE_TESTS = xyes ; then
AX_BOOST_BASE([1.33.1])
AX_BOOST_UNIT_TEST_FRAMEWORK
AC_MSG_NOTICE(support of automated tests enabled)
else
AC_MSG_NOTICE(disabled support of automated tests)
fi
AM_CONDITIONAL(AUTOTESTS, test x$ENABLE_TESTS = xyes)
dnl enable compiler warnings when the CAIROMM_DEVEL environment variable is set to 'on'
if test "x$CAIROMM_DEVEL" = "xon" ; then
CXXFLAGS="$CXXFLAGS -Wall -g -Werror -Wextra"
fi
CAIROMM_ARG_ENABLE_API_EXCEPTIONS()
dnl Check whether to build the documentation directory
DOCS_SUBDIR="" dnl set DOCS_SUBDIR initially blank
AC_ARG_ENABLE(docs, [AC_HELP_STRING([--enable-docs],
[build the included docs [default=yes]])],,
[enable_docs=yes])
if test "x$enable_docs" = "xyes"; then
dnl check if doxygen is installed
AC_CHECK_PROGS(DOXYGEN, [doxygen], no)
if test x$DOXYGEN = xno; then
AC_MSG_WARN([Doxygen not found, documentation will not be rebuilt])
else
dnl check if graphviz / dot is installed (used by doxygen)
AC_CHECK_PROGS(DOT, [dot], no)
if test x$DOT = xno; then
AC_MSG_WARN([graphviz / dot not found, documentation graphs will not be rebuilt])
fi
fi
DOCS_SUBDIR="docs"
AC_CONFIG_FILES(
docs/Makefile
docs/reference/Makefile
docs/reference/Doxyfile
)
fi
AC_SUBST(DOCS_SUBDIR)
AC_CONFIG_FILES(
Makefile
cairomm/Makefile
examples/Makefile
examples/png_file/Makefile
examples/pdf-surface/Makefile
examples/ps-surface/Makefile
examples/svg-surface/Makefile
examples/text-rotate/Makefile
tests/Makefile
cairomm-1.0.pc
)
AC_CONFIG_FILES([
MSVC/Makefile
MSVC/gendef/Makefile
MSVC/cairomm/Makefile
MSVC/cairomm/cairomm.rc
MSVC/examples/Makefile
MSVC/examples/pdf-surface/Makefile
MSVC/examples/png_file/Makefile
MSVC/examples/ps-surface/Makefile
MSVC/examples/svg-surface/Makefile
MSVC/examples/text-rotate/Makefile
])
AC_OUTPUT()

View File

@ -1,530 +0,0 @@
#! /bin/sh
# depcomp - compile a program generating dependencies as side-effects
scriptversion=2005-07-09.11
# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
# Originally written by Alexandre Oliva <oliva@dcc.unicamp.br>.
case $1 in
'')
echo "$0: No command. Try \`$0 --help' for more information." 1>&2
exit 1;
;;
-h | --h*)
cat <<\EOF
Usage: depcomp [--help] [--version] PROGRAM [ARGS]
Run PROGRAMS ARGS to compile a file, generating dependencies
as side-effects.
Environment variables:
depmode Dependency tracking mode.
source Source file read by `PROGRAMS ARGS'.
object Object file output by `PROGRAMS ARGS'.
DEPDIR directory where to store dependencies.
depfile Dependency file to output.
tmpdepfile Temporary file to use when outputing dependencies.
libtool Whether libtool is used (yes/no).
Report bugs to <bug-automake@gnu.org>.
EOF
exit $?
;;
-v | --v*)
echo "depcomp $scriptversion"
exit $?
;;
esac
if test -z "$depmode" || test -z "$source" || test -z "$object"; then
echo "depcomp: Variables source, object and depmode must be set" 1>&2
exit 1
fi
# Dependencies for sub/bar.o or sub/bar.obj go into sub/.deps/bar.Po.
depfile=${depfile-`echo "$object" |
sed 's|[^\\/]*$|'${DEPDIR-.deps}'/&|;s|\.\([^.]*\)$|.P\1|;s|Pobj$|Po|'`}
tmpdepfile=${tmpdepfile-`echo "$depfile" | sed 's/\.\([^.]*\)$/.T\1/'`}
rm -f "$tmpdepfile"
# Some modes work just like other modes, but use different flags. We
# parameterize here, but still list the modes in the big case below,
# to make depend.m4 easier to write. Note that we *cannot* use a case
# here, because this file can only contain one case statement.
if test "$depmode" = hp; then
# HP compiler uses -M and no extra arg.
gccflag=-M
depmode=gcc
fi
if test "$depmode" = dashXmstdout; then
# This is just like dashmstdout with a different argument.
dashmflag=-xM
depmode=dashmstdout
fi
case "$depmode" in
gcc3)
## gcc 3 implements dependency tracking that does exactly what
## we want. Yay! Note: for some reason libtool 1.4 doesn't like
## it if -MD -MP comes after the -MF stuff. Hmm.
"$@" -MT "$object" -MD -MP -MF "$tmpdepfile"
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
mv "$tmpdepfile" "$depfile"
;;
gcc)
## There are various ways to get dependency output from gcc. Here's
## why we pick this rather obscure method:
## - Don't want to use -MD because we'd like the dependencies to end
## up in a subdir. Having to rename by hand is ugly.
## (We might end up doing this anyway to support other compilers.)
## - The DEPENDENCIES_OUTPUT environment variable makes gcc act like
## -MM, not -M (despite what the docs say).
## - Using -M directly means running the compiler twice (even worse
## than renaming).
if test -z "$gccflag"; then
gccflag=-MD,
fi
"$@" -Wp,"$gccflag$tmpdepfile"
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
echo "$object : \\" > "$depfile"
alpha=ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz
## The second -e expression handles DOS-style file names with drive letters.
sed -e 's/^[^:]*: / /' \
-e 's/^['$alpha']:\/[^:]*: / /' < "$tmpdepfile" >> "$depfile"
## This next piece of magic avoids the `deleted header file' problem.
## The problem is that when a header file which appears in a .P file
## is deleted, the dependency causes make to die (because there is
## typically no way to rebuild the header). We avoid this by adding
## dummy dependencies for each header file. Too bad gcc doesn't do
## this for us directly.
tr ' ' '
' < "$tmpdepfile" |
## Some versions of gcc put a space before the `:'. On the theory
## that the space means something, we add a space to the output as
## well.
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly. Breaking it into two sed invocations is a workaround.
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
hp)
# This case exists only to let depend.m4 do its work. It works by
# looking at the text of this script. This case will never be run,
# since it is checked for above.
exit 1
;;
sgi)
if test "$libtool" = yes; then
"$@" "-Wp,-MDupdate,$tmpdepfile"
else
"$@" -MDupdate "$tmpdepfile"
fi
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
if test -f "$tmpdepfile"; then # yes, the sourcefile depend on other files
echo "$object : \\" > "$depfile"
# Clip off the initial element (the dependent). Don't try to be
# clever and replace this with sed code, as IRIX sed won't handle
# lines with more than a fixed number of characters (4096 in
# IRIX 6.2 sed, 8192 in IRIX 6.5). We also remove comment lines;
# the IRIX cc adds comments like `#:fec' to the end of the
# dependency line.
tr ' ' '
' < "$tmpdepfile" \
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' | \
tr '
' ' ' >> $depfile
echo >> $depfile
# The second pass generates a dummy entry for each header file.
tr ' ' '
' < "$tmpdepfile" \
| sed -e 's/^.*\.o://' -e 's/#.*$//' -e '/^$/ d' -e 's/$/:/' \
>> $depfile
else
# The sourcefile does not contain any dependencies, so just
# store a dummy comment line, to avoid errors with the Makefile
# "include basename.Plo" scheme.
echo "#dummy" > "$depfile"
fi
rm -f "$tmpdepfile"
;;
aix)
# The C for AIX Compiler uses -M and outputs the dependencies
# in a .u file. In older versions, this file always lives in the
# current directory. Also, the AIX compiler puts `$object:' at the
# start of each line; $object doesn't have directory information.
# Version 6 uses the directory in both cases.
stripped=`echo "$object" | sed 's/\(.*\)\..*$/\1/'`
tmpdepfile="$stripped.u"
if test "$libtool" = yes; then
"$@" -Wc,-M
else
"$@" -M
fi
stat=$?
if test -f "$tmpdepfile"; then :
else
stripped=`echo "$stripped" | sed 's,^.*/,,'`
tmpdepfile="$stripped.u"
fi
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
if test -f "$tmpdepfile"; then
outname="$stripped.o"
# Each line is of the form `foo.o: dependent.h'.
# Do two passes, one to just change these to
# `$object: dependent.h' and one to simply `dependent.h:'.
sed -e "s,^$outname:,$object :," < "$tmpdepfile" > "$depfile"
sed -e "s,^$outname: \(.*\)$,\1:," < "$tmpdepfile" >> "$depfile"
else
# The sourcefile does not contain any dependencies, so just
# store a dummy comment line, to avoid errors with the Makefile
# "include basename.Plo" scheme.
echo "#dummy" > "$depfile"
fi
rm -f "$tmpdepfile"
;;
icc)
# Intel's C compiler understands `-MD -MF file'. However on
# icc -MD -MF foo.d -c -o sub/foo.o sub/foo.c
# ICC 7.0 will fill foo.d with something like
# foo.o: sub/foo.c
# foo.o: sub/foo.h
# which is wrong. We want:
# sub/foo.o: sub/foo.c
# sub/foo.o: sub/foo.h
# sub/foo.c:
# sub/foo.h:
# ICC 7.1 will output
# foo.o: sub/foo.c sub/foo.h
# and will wrap long lines using \ :
# foo.o: sub/foo.c ... \
# sub/foo.h ... \
# ...
"$@" -MD -MF "$tmpdepfile"
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile"
exit $stat
fi
rm -f "$depfile"
# Each line is of the form `foo.o: dependent.h',
# or `foo.o: dep1.h dep2.h \', or ` dep3.h dep4.h \'.
# Do two passes, one to just change these to
# `$object: dependent.h' and one to simply `dependent.h:'.
sed "s,^[^:]*:,$object :," < "$tmpdepfile" > "$depfile"
# Some versions of the HPUX 10.20 sed can't process this invocation
# correctly. Breaking it into two sed invocations is a workaround.
sed 's,^[^:]*: \(.*\)$,\1,;s/^\\$//;/^$/d;/:$/d' < "$tmpdepfile" |
sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
tru64)
# The Tru64 compiler uses -MD to generate dependencies as a side
# effect. `cc -MD -o foo.o ...' puts the dependencies into `foo.o.d'.
# At least on Alpha/Redhat 6.1, Compaq CCC V6.2-504 seems to put
# dependencies in `foo.d' instead, so we check for that too.
# Subdirectories are respected.
dir=`echo "$object" | sed -e 's|/[^/]*$|/|'`
test "x$dir" = "x$object" && dir=
base=`echo "$object" | sed -e 's|^.*/||' -e 's/\.o$//' -e 's/\.lo$//'`
if test "$libtool" = yes; then
# With Tru64 cc, shared objects can also be used to make a
# static library. This mecanism is used in libtool 1.4 series to
# handle both shared and static libraries in a single compilation.
# With libtool 1.4, dependencies were output in $dir.libs/$base.lo.d.
#
# With libtool 1.5 this exception was removed, and libtool now
# generates 2 separate objects for the 2 libraries. These two
# compilations output dependencies in in $dir.libs/$base.o.d and
# in $dir$base.o.d. We have to check for both files, because
# one of the two compilations can be disabled. We should prefer
# $dir$base.o.d over $dir.libs/$base.o.d because the latter is
# automatically cleaned when .libs/ is deleted, while ignoring
# the former would cause a distcleancheck panic.
tmpdepfile1=$dir.libs/$base.lo.d # libtool 1.4
tmpdepfile2=$dir$base.o.d # libtool 1.5
tmpdepfile3=$dir.libs/$base.o.d # libtool 1.5
tmpdepfile4=$dir.libs/$base.d # Compaq CCC V6.2-504
"$@" -Wc,-MD
else
tmpdepfile1=$dir$base.o.d
tmpdepfile2=$dir$base.d
tmpdepfile3=$dir$base.d
tmpdepfile4=$dir$base.d
"$@" -MD
fi
stat=$?
if test $stat -eq 0; then :
else
rm -f "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
exit $stat
fi
for tmpdepfile in "$tmpdepfile1" "$tmpdepfile2" "$tmpdepfile3" "$tmpdepfile4"
do
test -f "$tmpdepfile" && break
done
if test -f "$tmpdepfile"; then
sed -e "s,^.*\.[a-z]*:,$object:," < "$tmpdepfile" > "$depfile"
# That's a tab and a space in the [].
sed -e 's,^.*\.[a-z]*:[ ]*,,' -e 's,$,:,' < "$tmpdepfile" >> "$depfile"
else
echo "#dummy" > "$depfile"
fi
rm -f "$tmpdepfile"
;;
#nosideeffect)
# This comment above is used by automake to tell side-effect
# dependency tracking mechanisms from slower ones.
dashmstdout)
# Important note: in order to support this mode, a compiler *must*
# always write the preprocessed file to stdout, regardless of -o.
"$@" || exit $?
# Remove the call to Libtool.
if test "$libtool" = yes; then
while test $1 != '--mode=compile'; do
shift
done
shift
fi
# Remove `-o $object'.
IFS=" "
for arg
do
case $arg in
-o)
shift
;;
$object)
shift
;;
*)
set fnord "$@" "$arg"
shift # fnord
shift # $arg
;;
esac
done
test -z "$dashmflag" && dashmflag=-M
# Require at least two characters before searching for `:'
# in the target name. This is to cope with DOS-style filenames:
# a dependency such as `c:/foo/bar' could be seen as target `c' otherwise.
"$@" $dashmflag |
sed 's:^[ ]*[^: ][^:][^:]*\:[ ]*:'"$object"'\: :' > "$tmpdepfile"
rm -f "$depfile"
cat < "$tmpdepfile" > "$depfile"
tr ' ' '
' < "$tmpdepfile" | \
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly. Breaking it into two sed invocations is a workaround.
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
dashXmstdout)
# This case only exists to satisfy depend.m4. It is never actually
# run, as this mode is specially recognized in the preamble.
exit 1
;;
makedepend)
"$@" || exit $?
# Remove any Libtool call
if test "$libtool" = yes; then
while test $1 != '--mode=compile'; do
shift
done
shift
fi
# X makedepend
shift
cleared=no
for arg in "$@"; do
case $cleared in
no)
set ""; shift
cleared=yes ;;
esac
case "$arg" in
-D*|-I*)
set fnord "$@" "$arg"; shift ;;
# Strip any option that makedepend may not understand. Remove
# the object too, otherwise makedepend will parse it as a source file.
-*|$object)
;;
*)
set fnord "$@" "$arg"; shift ;;
esac
done
obj_suffix="`echo $object | sed 's/^.*\././'`"
touch "$tmpdepfile"
${MAKEDEPEND-makedepend} -o"$obj_suffix" -f"$tmpdepfile" "$@"
rm -f "$depfile"
cat < "$tmpdepfile" > "$depfile"
sed '1,2d' "$tmpdepfile" | tr ' ' '
' | \
## Some versions of the HPUX 10.20 sed can't process this invocation
## correctly. Breaking it into two sed invocations is a workaround.
sed -e 's/^\\$//' -e '/^$/d' -e '/:$/d' | sed -e 's/$/ :/' >> "$depfile"
rm -f "$tmpdepfile" "$tmpdepfile".bak
;;
cpp)
# Important note: in order to support this mode, a compiler *must*
# always write the preprocessed file to stdout.
"$@" || exit $?
# Remove the call to Libtool.
if test "$libtool" = yes; then
while test $1 != '--mode=compile'; do
shift
done
shift
fi
# Remove `-o $object'.
IFS=" "
for arg
do
case $arg in
-o)
shift
;;
$object)
shift
;;
*)
set fnord "$@" "$arg"
shift # fnord
shift # $arg
;;
esac
done
"$@" -E |
sed -n -e '/^# [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' \
-e '/^#line [0-9][0-9]* "\([^"]*\)".*/ s:: \1 \\:p' |
sed '$ s: \\$::' > "$tmpdepfile"
rm -f "$depfile"
echo "$object : \\" > "$depfile"
cat < "$tmpdepfile" >> "$depfile"
sed < "$tmpdepfile" '/^$/d;s/^ //;s/ \\$//;s/$/ :/' >> "$depfile"
rm -f "$tmpdepfile"
;;
msvisualcpp)
# Important note: in order to support this mode, a compiler *must*
# always write the preprocessed file to stdout, regardless of -o,
# because we must use -o when running libtool.
"$@" || exit $?
IFS=" "
for arg
do
case "$arg" in
"-Gm"|"/Gm"|"-Gi"|"/Gi"|"-ZI"|"/ZI")
set fnord "$@"
shift
shift
;;
*)
set fnord "$@" "$arg"
shift
shift
;;
esac
done
"$@" -E |
sed -n '/^#line [0-9][0-9]* "\([^"]*\)"/ s::echo "`cygpath -u \\"\1\\"`":p' | sort | uniq > "$tmpdepfile"
rm -f "$depfile"
echo "$object : \\" > "$depfile"
. "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s:: \1 \\:p' >> "$depfile"
echo " " >> "$depfile"
. "$tmpdepfile" | sed 's% %\\ %g' | sed -n '/^\(.*\)$/ s::\1\::p' >> "$depfile"
rm -f "$tmpdepfile"
;;
none)
exec "$@"
;;
*)
echo "Unknown depmode $depmode" 1>&2
exit 1
;;
esac
exit 0
# Local Variables:
# mode: shell-script
# sh-indentation: 2
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-end: "$"
# End:

View File

@ -1,323 +0,0 @@
#!/bin/sh
# install - install a program, script, or datafile
scriptversion=2005-05-14.22
# This originates from X11R5 (mit/util/scripts/install.sh), which was
# later released in X11R6 (xc/config/util/install.sh) with the
# following copyright and license.
#
# Copyright (C) 1994 X Consortium
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to
# deal in the Software without restriction, including without limitation the
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
# sell copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# X CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
# AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNEC-
# TION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
#
# Except as contained in this notice, the name of the X Consortium shall not
# be used in advertising or otherwise to promote the sale, use or other deal-
# ings in this Software without prior written authorization from the X Consor-
# tium.
#
#
# FSF changes to this file are in the public domain.
#
# Calling this script install-sh is preferred over install.sh, to prevent
# `make' implicit rules from creating a file called install from it
# when there is no Makefile.
#
# This script is compatible with the BSD install script, but was written
# from scratch. It can only install one file at a time, a restriction
# shared with many OS's install programs.
# set DOITPROG to echo to test this script
# Don't use :- since 4.3BSD and earlier shells don't like it.
doit="${DOITPROG-}"
# put in absolute paths if you don't have them in your path; or use env. vars.
mvprog="${MVPROG-mv}"
cpprog="${CPPROG-cp}"
chmodprog="${CHMODPROG-chmod}"
chownprog="${CHOWNPROG-chown}"
chgrpprog="${CHGRPPROG-chgrp}"
stripprog="${STRIPPROG-strip}"
rmprog="${RMPROG-rm}"
mkdirprog="${MKDIRPROG-mkdir}"
chmodcmd="$chmodprog 0755"
chowncmd=
chgrpcmd=
stripcmd=
rmcmd="$rmprog -f"
mvcmd="$mvprog"
src=
dst=
dir_arg=
dstarg=
no_target_directory=
usage="Usage: $0 [OPTION]... [-T] SRCFILE DSTFILE
or: $0 [OPTION]... SRCFILES... DIRECTORY
or: $0 [OPTION]... -t DIRECTORY SRCFILES...
or: $0 [OPTION]... -d DIRECTORIES...
In the 1st form, copy SRCFILE to DSTFILE.
In the 2nd and 3rd, copy all SRCFILES to DIRECTORY.
In the 4th, create DIRECTORIES.
Options:
-c (ignored)
-d create directories instead of installing files.
-g GROUP $chgrpprog installed files to GROUP.
-m MODE $chmodprog installed files to MODE.
-o USER $chownprog installed files to USER.
-s $stripprog installed files.
-t DIRECTORY install into DIRECTORY.
-T report an error if DSTFILE is a directory.
--help display this help and exit.
--version display version info and exit.
Environment variables override the default commands:
CHGRPPROG CHMODPROG CHOWNPROG CPPROG MKDIRPROG MVPROG RMPROG STRIPPROG
"
while test -n "$1"; do
case $1 in
-c) shift
continue;;
-d) dir_arg=true
shift
continue;;
-g) chgrpcmd="$chgrpprog $2"
shift
shift
continue;;
--help) echo "$usage"; exit $?;;
-m) chmodcmd="$chmodprog $2"
shift
shift
continue;;
-o) chowncmd="$chownprog $2"
shift
shift
continue;;
-s) stripcmd=$stripprog
shift
continue;;
-t) dstarg=$2
shift
shift
continue;;
-T) no_target_directory=true
shift
continue;;
--version) echo "$0 $scriptversion"; exit $?;;
*) # When -d is used, all remaining arguments are directories to create.
# When -t is used, the destination is already specified.
test -n "$dir_arg$dstarg" && break
# Otherwise, the last argument is the destination. Remove it from $@.
for arg
do
if test -n "$dstarg"; then
# $@ is not empty: it contains at least $arg.
set fnord "$@" "$dstarg"
shift # fnord
fi
shift # arg
dstarg=$arg
done
break;;
esac
done
if test -z "$1"; then
if test -z "$dir_arg"; then
echo "$0: no input file specified." >&2
exit 1
fi
# It's OK to call `install-sh -d' without argument.
# This can happen when creating conditional directories.
exit 0
fi
for src
do
# Protect names starting with `-'.
case $src in
-*) src=./$src ;;
esac
if test -n "$dir_arg"; then
dst=$src
src=
if test -d "$dst"; then
mkdircmd=:
chmodcmd=
else
mkdircmd=$mkdirprog
fi
else
# Waiting for this to be detected by the "$cpprog $src $dsttmp" command
# might cause directories to be created, which would be especially bad
# if $src (and thus $dsttmp) contains '*'.
if test ! -f "$src" && test ! -d "$src"; then
echo "$0: $src does not exist." >&2
exit 1
fi
if test -z "$dstarg"; then
echo "$0: no destination specified." >&2
exit 1
fi
dst=$dstarg
# Protect names starting with `-'.
case $dst in
-*) dst=./$dst ;;
esac
# If destination is a directory, append the input filename; won't work
# if double slashes aren't ignored.
if test -d "$dst"; then
if test -n "$no_target_directory"; then
echo "$0: $dstarg: Is a directory" >&2
exit 1
fi
dst=$dst/`basename "$src"`
fi
fi
# This sed command emulates the dirname command.
dstdir=`echo "$dst" | sed -e 's,/*$,,;s,[^/]*$,,;s,/*$,,;s,^$,.,'`
# Make sure that the destination directory exists.
# Skip lots of stat calls in the usual case.
if test ! -d "$dstdir"; then
defaultIFS='
'
IFS="${IFS-$defaultIFS}"
oIFS=$IFS
# Some sh's can't handle IFS=/ for some reason.
IFS='%'
set x `echo "$dstdir" | sed -e 's@/@%@g' -e 's@^%@/@'`
shift
IFS=$oIFS
pathcomp=
while test $# -ne 0 ; do
pathcomp=$pathcomp$1
shift
if test ! -d "$pathcomp"; then
$mkdirprog "$pathcomp"
# mkdir can fail with a `File exist' error in case several
# install-sh are creating the directory concurrently. This
# is OK.
test -d "$pathcomp" || exit
fi
pathcomp=$pathcomp/
done
fi
if test -n "$dir_arg"; then
$doit $mkdircmd "$dst" \
&& { test -z "$chowncmd" || $doit $chowncmd "$dst"; } \
&& { test -z "$chgrpcmd" || $doit $chgrpcmd "$dst"; } \
&& { test -z "$stripcmd" || $doit $stripcmd "$dst"; } \
&& { test -z "$chmodcmd" || $doit $chmodcmd "$dst"; }
else
dstfile=`basename "$dst"`
# Make a couple of temp file names in the proper directory.
dsttmp=$dstdir/_inst.$$_
rmtmp=$dstdir/_rm.$$_
# Trap to clean up those temp files at exit.
trap 'ret=$?; rm -f "$dsttmp" "$rmtmp" && exit $ret' 0
trap '(exit $?); exit' 1 2 13 15
# Copy the file name to the temp name.
$doit $cpprog "$src" "$dsttmp" &&
# and set any options; do chmod last to preserve setuid bits.
#
# If any of these fail, we abort the whole thing. If we want to
# ignore errors from any of these, just make sure not to ignore
# errors from the above "$doit $cpprog $src $dsttmp" command.
#
{ test -z "$chowncmd" || $doit $chowncmd "$dsttmp"; } \
&& { test -z "$chgrpcmd" || $doit $chgrpcmd "$dsttmp"; } \
&& { test -z "$stripcmd" || $doit $stripcmd "$dsttmp"; } \
&& { test -z "$chmodcmd" || $doit $chmodcmd "$dsttmp"; } &&
# Now rename the file to the real destination.
{ $doit $mvcmd -f "$dsttmp" "$dstdir/$dstfile" 2>/dev/null \
|| {
# The rename failed, perhaps because mv can't rename something else
# to itself, or perhaps because mv is so ancient that it does not
# support -f.
# Now remove or move aside any old file at destination location.
# We try this two ways since rm can't unlink itself on some
# systems and the destination file might be busy for other
# reasons. In this case, the final cleanup might fail but the new
# file should still install successfully.
{
if test -f "$dstdir/$dstfile"; then
$doit $rmcmd -f "$dstdir/$dstfile" 2>/dev/null \
|| $doit $mvcmd -f "$dstdir/$dstfile" "$rmtmp" 2>/dev/null \
|| {
echo "$0: cannot unlink or rename $dstdir/$dstfile" >&2
(exit 1); exit 1
}
else
:
fi
} &&
# Now rename the file to the real destination.
$doit $mvcmd "$dsttmp" "$dstdir/$dstfile"
}
}
fi || { (exit 1); exit 1; }
done
# The final little trick to "correctly" pass the exit status to the exit trap.
{
(exit 0); exit 0
}
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-end: "$"
# End:

File diff suppressed because it is too large Load Diff

View File

@ -1,198 +0,0 @@
##### http://autoconf-archive.cryp.to/ax_boost_base.html
#
# SYNOPSIS
#
# AX_BOOST_BASE([MINIMUM-VERSION])
#
# DESCRIPTION
#
# Test for the Boost C++ libraries of a particular version (or newer)
#
# If no path to the installed boost library is given the macro
# searchs under /usr, /usr/local, and /opt, and evaluates the
# $BOOST_ROOT environment variable. Further documentation is
# available at <http://randspringer.de/boost/index.html>.
#
# This macro calls:
#
# AC_SUBST(BOOST_CPPFLAGS) / AC_SUBST(BOOST_LDFLAGS)
#
# And sets:
#
# HAVE_BOOST
#
# LAST MODIFICATION
#
# 2006-12-28
#
# COPYLEFT
#
# Copyright (c) 2006 Thomas Porschberg <thomas@randspringer.de>
#
# Copying and distribution of this file, with or without
# modification, are permitted in any medium without royalty provided
# the copyright notice and this notice are preserved.
AC_DEFUN([AX_BOOST_BASE],
[
AC_ARG_WITH([boost],
AS_HELP_STRING([--with-boost@<:@=DIR@:>@], [use boost (default is No) - it is possible to specify the root directory for boost (optional)]),
[
if test "$withval" = "no"; then
want_boost="no"
elif test "$withval" = "yes"; then
want_boost="yes"
ac_boost_path=""
else
want_boost="yes"
ac_boost_path="$withval"
fi
],
[want_boost="yes"])
if test "x$want_boost" = "xyes"; then
boost_lib_version_req=ifelse([$1], ,1.20.0,$1)
boost_lib_version_req_shorten=`expr $boost_lib_version_req : '\([[0-9]]*\.[[0-9]]*\)'`
boost_lib_version_req_major=`expr $boost_lib_version_req : '\([[0-9]]*\)'`
boost_lib_version_req_minor=`expr $boost_lib_version_req : '[[0-9]]*\.\([[0-9]]*\)'`
boost_lib_version_req_sub_minor=`expr $boost_lib_version_req : '[[0-9]]*\.[[0-9]]*\.\([[0-9]]*\)'`
if test "x$boost_lib_version_req_sub_minor" = "x" ; then
boost_lib_version_req_sub_minor="0"
fi
WANT_BOOST_VERSION=`expr $boost_lib_version_req_major \* 100000 \+ $boost_lib_version_req_minor \* 100 \+ $boost_lib_version_req_sub_minor`
AC_MSG_CHECKING(for boostlib >= $boost_lib_version_req)
succeeded=no
dnl first we check the system location for boost libraries
dnl this location ist chosen if boost libraries are installed with the --layout=system option
dnl or if you install boost with RPM
if test "$ac_boost_path" != ""; then
BOOST_LDFLAGS="-L$ac_boost_path/lib"
BOOST_CPPFLAGS="-I$ac_boost_path/include"
else
for ac_boost_path_tmp in /usr /usr/local /opt ; do
if test -d "$ac_boost_path_tmp/include/boost" && test -r "$ac_boost_path_tmp/include/boost"; then
BOOST_LDFLAGS="-L$ac_boost_path_tmp/lib"
BOOST_CPPFLAGS="-I$ac_boost_path_tmp/include"
break;
fi
done
fi
CPPFLAGS_SAVED="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
export CPPFLAGS
LDFLAGS_SAVED="$LDFLAGS"
LDFLAGS="$LDFLAGS $BOOST_LDFLAGS"
export LDFLAGS
AC_LANG_PUSH(C++)
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
@%:@include <boost/version.hpp>
]], [[
#if BOOST_VERSION >= $WANT_BOOST_VERSION
// Everything is okay
#else
# error Boost version is too old
#endif
]])],[
AC_MSG_RESULT(yes)
succeeded=yes
found_system=yes
],[
])
AC_LANG_POP([C++])
dnl if we found no boost with system layout we search for boost libraries
dnl built and installed without the --layout=system option or for a staged(not installed) version
if test "x$succeeded" != "xyes"; then
_version=0
if test "$ac_boost_path" != ""; then
BOOST_LDFLAGS="-L$ac_boost_path/lib"
if test -d "$ac_boost_path" && test -r "$ac_boost_path"; then
for i in `ls -d $ac_boost_path/include/boost-* 2>/dev/null`; do
_version_tmp=`echo $i | sed "s#$ac_boost_path##" | sed 's/\/include\/boost-//' | sed 's/_/./'`
V_CHECK=`expr $_version_tmp \> $_version`
if test "$V_CHECK" = "1" ; then
_version=$_version_tmp
fi
VERSION_UNDERSCORE=`echo $_version | sed 's/\./_/'`
BOOST_CPPFLAGS="-I$ac_boost_path/include/boost-$VERSION_UNDERSCORE"
done
fi
else
for ac_boost_path in /usr /usr/local /opt ; do
if test -d "$ac_boost_path" && test -r "$ac_boost_path"; then
for i in `ls -d $ac_boost_path/include/boost-* 2>/dev/null`; do
_version_tmp=`echo $i | sed "s#$ac_boost_path##" | sed 's/\/include\/boost-//' | sed 's/_/./'`
V_CHECK=`expr $_version_tmp \> $_version`
if test "$V_CHECK" = "1" ; then
_version=$_version_tmp
best_path=$ac_boost_path
fi
done
fi
done
VERSION_UNDERSCORE=`echo $_version | sed 's/\./_/'`
BOOST_CPPFLAGS="-I$best_path/include/boost-$VERSION_UNDERSCORE"
BOOST_LDFLAGS="-L$best_path/lib"
if test "x$BOOST_ROOT" != "x"; then
if test -d "$BOOST_ROOT" && test -r "$BOOST_ROOT" && test -d "$BOOST_ROOT/stage/lib" && test -r "$BOOST_ROOT/stage/lib"; then
version_dir=`expr //$BOOST_ROOT : '.*/\(.*\)'`
stage_version=`echo $version_dir | sed 's/boost_//' | sed 's/_/./g'`
stage_version_shorten=`expr $stage_version : '\([[0-9]]*\.[[0-9]]*\)'`
V_CHECK=`expr $stage_version_shorten \>\= $_version`
if test "$V_CHECK" = "1" ; then
AC_MSG_NOTICE(We will use a staged boost library from $BOOST_ROOT)
BOOST_CPPFLAGS="-I$BOOST_ROOT"
BOOST_LDFLAGS="-L$BOOST_ROOT/stage/lib"
fi
fi
fi
fi
CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
export CPPFLAGS
LDFLAGS="$LDFLAGS $BOOST_LDFLAGS"
export LDFLAGS
AC_LANG_PUSH(C++)
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
@%:@include <boost/version.hpp>
]], [[
#if BOOST_VERSION >= $WANT_BOOST_VERSION
// Everything is okay
#else
# error Boost version is too old
#endif
]])],[
AC_MSG_RESULT(yes)
succeeded=yes
found_system=yes
],[
])
AC_LANG_POP([C++])
fi
if test "$succeeded" != "yes" ; then
if test "$_version" = "0" ; then
AC_MSG_ERROR([[We could not detect the boost libraries (version $boost_lib_version_req_shorten or higher). If you have a staged boost library (still not installed) please specify \$BOOST_ROOT in your environment and do not give a PATH to --with-boost option. If you are sure you have boost installed, then check your version number looking in <boost/version.hpp>. See http://randspringer.de/boost for more documentation.]])
else
AC_MSG_NOTICE([Your boost libraries seems to old (version $_version).])
fi
else
AC_SUBST(BOOST_CPPFLAGS)
AC_SUBST(BOOST_LDFLAGS)
AC_DEFINE(HAVE_BOOST,,[define if the Boost library is available])
fi
CPPFLAGS="$CPPFLAGS_SAVED"
LDFLAGS="$LDFLAGS_SAVED"
fi
])

View File

@ -1,138 +0,0 @@
##### http://autoconf-archive.cryp.to/ax_boost_unit_test_framework.html
#
# SYNOPSIS
#
# AX_BOOST_UNIT_TEST_FRAMEWORK
#
# DESCRIPTION
#
# Test for Unit_Test_Framework library from the Boost C++ libraries.
# The macro requires a preceding call to AX_BOOST_BASE. Further
# documentation is available at
# <http://randspringer.de/boost/index.html>.
#
# This macro calls:
#
# AC_SUBST(BOOST_UNIT_TEST_FRAMEWORK_LIB)
#
# And sets:
#
# HAVE_BOOST_UNIT_TEST_FRAMEWORK
#
# LAST MODIFICATION
#
# 2006-12-28
#
# COPYLEFT
#
# Copyright (c) 2006 Thomas Porschberg <thomas@randspringer.de>
#
# Copying and distribution of this file, with or without
# modification, are permitted in any medium without royalty provided
# the copyright notice and this notice are preserved.
AC_DEFUN([AX_BOOST_UNIT_TEST_FRAMEWORK],
[
AC_ARG_WITH([boost-unit-test-framework],
AS_HELP_STRING([--with-boost-unit-test-framework@<:@=special-lib@:>@],
[use the Unit_Test_Framework library from boost - it is possible to specify a certain library for the linker
e.g. --with-boost-unit-test-framework=boost_unit_test_framework-gcc ]),
[
if test "$withval" = "no"; then
want_boost="no"
elif test "$withval" = "yes"; then
want_boost="yes"
ax_boost_user_unit_test_framework_lib=""
else
want_boost="yes"
ax_boost_user_unit_test_framework_lib="$withval"
fi
],
[want_boost="yes"]
)
if test "x$want_boost" = "xyes"; then
AC_REQUIRE([AC_PROG_CC])
CPPFLAGS_SAVED="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS $BOOST_CPPFLAGS"
export CPPFLAGS
LDFLAGS_SAVED="$LDFLAGS"
LDFLAGS="$LDFLAGS $BOOST_LDFLAGS"
export LDFLAGS
AC_CACHE_CHECK(whether the Boost::Unit_Test_Framework library is available,
ax_cv_boost_unit_test_framework,
[AC_LANG_PUSH([C++])
AC_COMPILE_IFELSE(AC_LANG_PROGRAM([[@%:@include <boost/test/unit_test.hpp>]],
[[using boost::unit_test::test_suite;
test_suite* test= BOOST_TEST_SUITE( "Unit test example 1" ); return 0;]]),
ax_cv_boost_unit_test_framework=yes, ax_cv_boost_unit_test_framework=no)
AC_LANG_POP([C++])
])
if test "x$ax_cv_boost_unit_test_framework" = "xyes"; then
AC_DEFINE(HAVE_BOOST_UNIT_TEST_FRAMEWORK,,[define if the Boost::Unit_Test_Framework library is available])
BN=boost_unit_test_framework
if test "x$ax_boost_user_unit_test_framework_lib" = "x"; then
saved_ldflags="${LDFLAGS}"
for ax_lib in $BN $BN-$CC $BN-$CC-mt $BN-$CC-mt-s $BN-$CC-s \
lib$BN lib$BN-$CC lib$BN-$CC-mt lib$BN-$CC-mt-s lib$BN-$CC-s \
$BN-mgw $BN-mgw $BN-mgw-mt $BN-mgw-mt-s $BN-mgw-s ; do
LDFLAGS="${LDFLAGS} -l$ax_lib"
AC_CACHE_CHECK(Boost::UnitTestFramework library linkage,
ax_cv_boost_unit_test_framework_link,
[AC_LANG_PUSH([C++])
AC_LINK_IFELSE([AC_LANG_PROGRAM([[@%:@include <boost/test/unit_test.hpp>
using boost::unit_test::test_suite;
test_suite* init_unit_test_suite( int argc, char * argv[] ) {
test_suite* test= BOOST_TEST_SUITE( "Unit test example 1" );
return test;
}
]],
[[ return 0;]])],
link_unit_test_framework="yes",link_unit_test_framework="no")
AC_LANG_POP([C++])
])
LDFLAGS="${saved_ldflags}"
if test "x$link_unit_test_framework" = "xyes"; then
BOOST_UNIT_TEST_FRAMEWORK_LIB="-l$ax_lib"
AC_SUBST(BOOST_UNIT_TEST_FRAMEWORK_LIB)
break
fi
done
else
saved_ldflags="${LDFLAGS}"
for ax_lib in $ax_boost_user_unit_test_framework_lib $BN-$ax_boost_user_unit_test_framework_lib; do
LDFLAGS="${LDFLAGS} -l$ax_lib"
AC_CACHE_CHECK(Boost::UnitTestFramework library linkage,
ax_cv_boost_unit_test_framework_link,
[AC_LANG_PUSH([C++])
AC_LINK_IFELSE([AC_LANG_PROGRAM([[@%:@include <boost/test/unit_test.hpp>
using boost::unit_test::test_suite;
test_suite* init_unit_test_suite( int argc, char * argv[] ) {
test_suite* test= BOOST_TEST_SUITE( "Unit test example 1" );
return test;
}
]],
[[ return 0;]])],
link_unit_test_framework="yes",link_unit_test_framework="no")
AC_LANG_POP([C++])
])
LDFLAGS="${saved_ldflags}"
if test "x$link_unit_test_framework" = "xyes"; then
BOOST_UNIT_TEST_FRAMEWORK_LIB="-l$ax_lib"
AC_SUBST(BOOST_UNIT_TEST_FRAMEWORK_LIB)
break
fi
done
fi
if test "x$link_unit_test_framework" = "xno"; then
AC_MSG_ERROR(Could not link against $ax_lib !)
fi
fi
CPPFLAGS="$CPPFLAGS_SAVED"
LDFLAGS="$LDFLAGS_SAVED"
fi
])

View File

@ -1,20 +0,0 @@
## CAIROMM_ARG_ENABLE_API_EXCEPTIONS()
##
## Provide the --enable-api-exceptions configure argument, enabled
## by default.
##
AC_DEFUN([CAIROMM_ARG_ENABLE_API_EXCEPTIONS],
[
AC_ARG_ENABLE([api-exceptions],
[ --enable-api-exceptions Build exceptions API.
[[default=yes]]],
[cairomm_enable_api_exceptions="$enableval"],
[cairomm_enable_api_exceptions='yes'])
if test "x$cairomm_enable_api_exceptions" = "xyes"; then
{
AC_DEFINE([CAIROMM_EXCEPTIONS_ENABLED],[1], [Defined when the --enable-api-exceptions configure argument was given])
}
fi
])

View File

@ -1,360 +0,0 @@
#! /bin/sh
# Common stub for a few missing GNU programs while installing.
scriptversion=2005-06-08.21
# Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005
# Free Software Foundation, Inc.
# Originally by Fran,cois Pinard <pinard@iro.umontreal.ca>, 1996.
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
# 02110-1301, USA.
# As a special exception to the GNU General Public License, if you
# distribute this file as part of a program that contains a
# configuration script generated by Autoconf, you may include it under
# the same distribution terms that you use for the rest of that program.
if test $# -eq 0; then
echo 1>&2 "Try \`$0 --help' for more information"
exit 1
fi
run=:
# In the cases where this matters, `missing' is being run in the
# srcdir already.
if test -f configure.ac; then
configure_ac=configure.ac
else
configure_ac=configure.in
fi
msg="missing on your system"
case "$1" in
--run)
# Try to run requested program, and just exit if it succeeds.
run=
shift
"$@" && exit 0
# Exit code 63 means version mismatch. This often happens
# when the user try to use an ancient version of a tool on
# a file that requires a minimum version. In this case we
# we should proceed has if the program had been absent, or
# if --run hadn't been passed.
if test $? = 63; then
run=:
msg="probably too old"
fi
;;
-h|--h|--he|--hel|--help)
echo "\
$0 [OPTION]... PROGRAM [ARGUMENT]...
Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
error status if there is no known handling for PROGRAM.
Options:
-h, --help display this help and exit
-v, --version output version information and exit
--run try to run the given command, and emulate it if it fails
Supported PROGRAM values:
aclocal touch file \`aclocal.m4'
autoconf touch file \`configure'
autoheader touch file \`config.h.in'
automake touch all \`Makefile.in' files
bison create \`y.tab.[ch]', if possible, from existing .[ch]
flex create \`lex.yy.c', if possible, from existing .c
help2man touch the output file
lex create \`lex.yy.c', if possible, from existing .c
makeinfo touch the output file
tar try tar, gnutar, gtar, then tar without non-portable flags
yacc create \`y.tab.[ch]', if possible, from existing .[ch]
Send bug reports to <bug-automake@gnu.org>."
exit $?
;;
-v|--v|--ve|--ver|--vers|--versi|--versio|--version)
echo "missing $scriptversion (GNU Automake)"
exit $?
;;
-*)
echo 1>&2 "$0: Unknown \`$1' option"
echo 1>&2 "Try \`$0 --help' for more information"
exit 1
;;
esac
# Now exit if we have it, but it failed. Also exit now if we
# don't have it and --version was passed (most likely to detect
# the program).
case "$1" in
lex|yacc)
# Not GNU programs, they don't have --version.
;;
tar)
if test -n "$run"; then
echo 1>&2 "ERROR: \`tar' requires --run"
exit 1
elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
exit 1
fi
;;
*)
if test -z "$run" && ($1 --version) > /dev/null 2>&1; then
# We have it, but it failed.
exit 1
elif test "x$2" = "x--version" || test "x$2" = "x--help"; then
# Could not run --version or --help. This is probably someone
# running `$TOOL --version' or `$TOOL --help' to check whether
# $TOOL exists and not knowing $TOOL uses missing.
exit 1
fi
;;
esac
# If it does not exist, or fails to run (possibly an outdated version),
# try to emulate it.
case "$1" in
aclocal*)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
you modified \`acinclude.m4' or \`${configure_ac}'. You might want
to install the \`Automake' and \`Perl' packages. Grab them from
any GNU archive site."
touch aclocal.m4
;;
autoconf)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
you modified \`${configure_ac}'. You might want to install the
\`Autoconf' and \`GNU m4' packages. Grab them from any GNU
archive site."
touch configure
;;
autoheader)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
you modified \`acconfig.h' or \`${configure_ac}'. You might want
to install the \`Autoconf' and \`GNU m4' packages. Grab them
from any GNU archive site."
files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' ${configure_ac}`
test -z "$files" && files="config.h"
touch_files=
for f in $files; do
case "$f" in
*:*) touch_files="$touch_files "`echo "$f" |
sed -e 's/^[^:]*://' -e 's/:.*//'`;;
*) touch_files="$touch_files $f.in";;
esac
done
touch $touch_files
;;
automake*)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
you modified \`Makefile.am', \`acinclude.m4' or \`${configure_ac}'.
You might want to install the \`Automake' and \`Perl' packages.
Grab them from any GNU archive site."
find . -type f -name Makefile.am -print |
sed 's/\.am$/.in/' |
while read f; do touch "$f"; done
;;
autom4te)
echo 1>&2 "\
WARNING: \`$1' is needed, but is $msg.
You might have modified some files without having the
proper tools for further handling them.
You can get \`$1' as part of \`Autoconf' from any GNU
archive site."
file=`echo "$*" | sed -n 's/.*--output[ =]*\([^ ]*\).*/\1/p'`
test -z "$file" && file=`echo "$*" | sed -n 's/.*-o[ ]*\([^ ]*\).*/\1/p'`
if test -f "$file"; then
touch $file
else
test -z "$file" || exec >$file
echo "#! /bin/sh"
echo "# Created by GNU Automake missing as a replacement of"
echo "# $ $@"
echo "exit 0"
chmod +x $file
exit 1
fi
;;
bison|yacc)
echo 1>&2 "\
WARNING: \`$1' $msg. You should only need it if
you modified a \`.y' file. You may need the \`Bison' package
in order for those modifications to take effect. You can get
\`Bison' from any GNU archive site."
rm -f y.tab.c y.tab.h
if [ $# -ne 1 ]; then
eval LASTARG="\${$#}"
case "$LASTARG" in
*.y)
SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
if [ -f "$SRCFILE" ]; then
cp "$SRCFILE" y.tab.c
fi
SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
if [ -f "$SRCFILE" ]; then
cp "$SRCFILE" y.tab.h
fi
;;
esac
fi
if [ ! -f y.tab.h ]; then
echo >y.tab.h
fi
if [ ! -f y.tab.c ]; then
echo 'main() { return 0; }' >y.tab.c
fi
;;
lex|flex)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
you modified a \`.l' file. You may need the \`Flex' package
in order for those modifications to take effect. You can get
\`Flex' from any GNU archive site."
rm -f lex.yy.c
if [ $# -ne 1 ]; then
eval LASTARG="\${$#}"
case "$LASTARG" in
*.l)
SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
if [ -f "$SRCFILE" ]; then
cp "$SRCFILE" lex.yy.c
fi
;;
esac
fi
if [ ! -f lex.yy.c ]; then
echo 'main() { return 0; }' >lex.yy.c
fi
;;
help2man)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
you modified a dependency of a manual page. You may need the
\`Help2man' package in order for those modifications to take
effect. You can get \`Help2man' from any GNU archive site."
file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
if test -z "$file"; then
file=`echo "$*" | sed -n 's/.*--output=\([^ ]*\).*/\1/p'`
fi
if [ -f "$file" ]; then
touch $file
else
test -z "$file" || exec >$file
echo ".ab help2man is required to generate this page"
exit 1
fi
;;
makeinfo)
echo 1>&2 "\
WARNING: \`$1' is $msg. You should only need it if
you modified a \`.texi' or \`.texinfo' file, or any other file
indirectly affecting the aspect of the manual. The spurious
call might also be the consequence of using a buggy \`make' (AIX,
DU, IRIX). You might want to install the \`Texinfo' package or
the \`GNU make' package. Grab either from any GNU archive site."
# The file to touch is that specified with -o ...
file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
if test -z "$file"; then
# ... or it is the one specified with @setfilename ...
infile=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $infile`
# ... or it is derived from the source name (dir/f.texi becomes f.info)
test -z "$file" && file=`echo "$infile" | sed 's,.*/,,;s,.[^.]*$,,'`.info
fi
# If the file does not exist, the user really needs makeinfo;
# let's fail without touching anything.
test -f $file || exit 1
touch $file
;;
tar)
shift
# We have already tried tar in the generic part.
# Look for gnutar/gtar before invocation to avoid ugly error
# messages.
if (gnutar --version > /dev/null 2>&1); then
gnutar "$@" && exit 0
fi
if (gtar --version > /dev/null 2>&1); then
gtar "$@" && exit 0
fi
firstarg="$1"
if shift; then
case "$firstarg" in
*o*)
firstarg=`echo "$firstarg" | sed s/o//`
tar "$firstarg" "$@" && exit 0
;;
esac
case "$firstarg" in
*h*)
firstarg=`echo "$firstarg" | sed s/h//`
tar "$firstarg" "$@" && exit 0
;;
esac
fi
echo 1>&2 "\
WARNING: I can't seem to be able to run \`tar' with the given arguments.
You may want to install GNU tar or Free paxutils, or check the
command line arguments."
exit 1
;;
*)
echo 1>&2 "\
WARNING: \`$1' is needed, and is $msg.
You might have modified some files without having the
proper tools for further handling them. Check the \`README' file,
it often tells you about the needed prerequisites for installing
this package. You may also peek at any GNU archive site, in case
some other package would contain this missing \`$1' program."
exit 1
;;
esac
exit 0
# Local variables:
# eval: (add-hook 'write-file-hooks 'time-stamp)
# time-stamp-start: "scriptversion="
# time-stamp-format: "%:y-%02m-%02d.%02H"
# time-stamp-end: "$"
# End:

View File

@ -1,19 +0,0 @@
if AUTOTESTS
# build automated 'tests'
noinst_PROGRAMS = test-context
test_context_SOURCES=test-context.cc
TESTS=test-context
else
#don't build anything
TESTS=
endif
#Where to find the header files needed by the source files:
INCLUDES = -I$(top_srcdir) @CAIROMM_CFLAGS@
#The libraries that the executable needs to link against:
LIBS = $(top_builddir)/cairomm/libcairomm-1.0.la @LIBS@ @CAIROMM_LIBS@ @BOOST_UNIT_TEST_FRAMEWORK_LIB@

View File

@ -1,532 +0,0 @@
# Makefile.in generated by automake 1.9.6 from Makefile.am.
# @configure_input@
# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
# 2003, 2004, 2005 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
# with or without modifications, as long as this notice is preserved.
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
# PARTICULAR PURPOSE.
@SET_MAKE@
srcdir = @srcdir@
top_srcdir = @top_srcdir@
VPATH = @srcdir@
pkgdatadir = $(datadir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ..
am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
INSTALL = @INSTALL@
install_sh_DATA = $(install_sh) -c -m 644
install_sh_PROGRAM = $(install_sh) -c
install_sh_SCRIPT = $(install_sh) -c
INSTALL_HEADER = $(INSTALL_DATA)
transform = $(program_transform_name)
NORMAL_INSTALL = :
PRE_INSTALL = :
POST_INSTALL = :
NORMAL_UNINSTALL = :
PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
@AUTOTESTS_TRUE@noinst_PROGRAMS = test-context$(EXEEXT)
subdir = tests
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/m4/ax_boost_base.m4 \
$(top_srcdir)/m4/ax_boost_unit_test_framework.m4 \
$(top_srcdir)/m4/reduced.m4 $(top_srcdir)/configure.in
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/cairomm/cairommconfig.h
CONFIG_CLEAN_FILES =
PROGRAMS = $(noinst_PROGRAMS)
am__test_context_SOURCES_DIST = test-context.cc
@AUTOTESTS_TRUE@am_test_context_OBJECTS = test-context.$(OBJEXT)
test_context_OBJECTS = $(am_test_context_OBJECTS)
test_context_LDADD = $(LDADD)
DEFAULT_INCLUDES = -I. -I$(srcdir) -I$(top_builddir)/cairomm
depcomp = $(SHELL) $(top_srcdir)/depcomp
am__depfiles_maybe = depfiles
CXXCOMPILE = $(CXX) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CXXFLAGS) $(CXXFLAGS)
LTCXXCOMPILE = $(LIBTOOL) --tag=CXX --mode=compile $(CXX) $(DEFS) \
$(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) \
$(AM_CXXFLAGS) $(CXXFLAGS)
CXXLD = $(CXX)
CXXLINK = $(LIBTOOL) --tag=CXX --mode=link $(CXXLD) $(AM_CXXFLAGS) \
$(CXXFLAGS) $(AM_LDFLAGS) $(LDFLAGS) -o $@
SOURCES = $(test_context_SOURCES)
DIST_SOURCES = $(am__test_context_SOURCES_DIST)
ETAGS = etags
CTAGS = ctags
DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
ACLOCAL = @ACLOCAL@
AMDEP_FALSE = @AMDEP_FALSE@
AMDEP_TRUE = @AMDEP_TRUE@
AMTAR = @AMTAR@
AR = @AR@
AS = @AS@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
AUTOTESTS_FALSE = @AUTOTESTS_FALSE@
AUTOTESTS_TRUE = @AUTOTESTS_TRUE@
AWK = @AWK@
BOOST_CPPFLAGS = @BOOST_CPPFLAGS@
BOOST_LDFLAGS = @BOOST_LDFLAGS@
BOOST_UNIT_TEST_FRAMEWORK_LIB = @BOOST_UNIT_TEST_FRAMEWORK_LIB@
CAIROMM_CFLAGS = @CAIROMM_CFLAGS@
CAIROMM_LIBS = @CAIROMM_LIBS@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CXX = @CXX@
CXXCPP = @CXXCPP@
CXXDEPMODE = @CXXDEPMODE@
CXXFLAGS = @CXXFLAGS@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
DLLTOOL = @DLLTOOL@
DOCS_SUBDIR = @DOCS_SUBDIR@
DOT = @DOT@
DOXYGEN = @DOXYGEN@
ECHO = @ECHO@
ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
EXEEXT = @EXEEXT@
F77 = @F77@
FFLAGS = @FFLAGS@
GENERIC_LIBRARY_VERSION = @GENERIC_LIBRARY_VERSION@
GENERIC_MAJOR_VERSION = @GENERIC_MAJOR_VERSION@
GENERIC_MICRO_VERSION = @GENERIC_MICRO_VERSION@
GENERIC_MINOR_VERSION = @GENERIC_MINOR_VERSION@
GENERIC_VERSION = @GENERIC_VERSION@
GREP = @GREP@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
LDFLAGS = @LDFLAGS@
LIBOBJS = @LIBOBJS@
#The libraries that the executable needs to link against:
LIBS = $(top_builddir)/cairomm/libcairomm-1.0.la @LIBS@ @CAIROMM_LIBS@ @BOOST_UNIT_TEST_FRAMEWORK_LIB@
LIBTOOL = @LIBTOOL@
LN_S = @LN_S@
LTLIBOBJS = @LTLIBOBJS@
MAKEINFO = @MAKEINFO@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OS_WIN32_FALSE = @OS_WIN32_FALSE@
OS_WIN32_TRUE = @OS_WIN32_TRUE@
PACKAGE = @PACKAGE@
PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
PACKAGE_NAME = @PACKAGE_NAME@
PACKAGE_STRING = @PACKAGE_STRING@
PACKAGE_TARNAME = @PACKAGE_TARNAME@
PACKAGE_VERSION = @PACKAGE_VERSION@
PATH_SEPARATOR = @PATH_SEPARATOR@
PKG_CONFIG = @PKG_CONFIG@
PLATFORM_WIN32_FALSE = @PLATFORM_WIN32_FALSE@
PLATFORM_WIN32_TRUE = @PLATFORM_WIN32_TRUE@
RANLIB = @RANLIB@
SED = @SED@
SET_MAKE = @SET_MAKE@
SHELL = @SHELL@
STRIP = @STRIP@
VERSION = @VERSION@
ac_ct_CC = @ac_ct_CC@
ac_ct_CXX = @ac_ct_CXX@
ac_ct_F77 = @ac_ct_F77@
am__fastdepCC_FALSE = @am__fastdepCC_FALSE@
am__fastdepCC_TRUE = @am__fastdepCC_TRUE@
am__fastdepCXX_FALSE = @am__fastdepCXX_FALSE@
am__fastdepCXX_TRUE = @am__fastdepCXX_TRUE@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
am__tar = @am__tar@
am__untar = @am__untar@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
build_cpu = @build_cpu@
build_os = @build_os@
build_vendor = @build_vendor@
datadir = @datadir@
datarootdir = @datarootdir@
docdir = @docdir@
dvidir = @dvidir@
exec_prefix = @exec_prefix@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
host_os = @host_os@
host_vendor = @host_vendor@
htmldir = @htmldir@
includedir = @includedir@
infodir = @infodir@
install_sh = @install_sh@
libdir = @libdir@
libexecdir = @libexecdir@
localedir = @localedir@
localstatedir = @localstatedir@
mandir = @mandir@
mkdir_p = @mkdir_p@
oldincludedir = @oldincludedir@
pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
sysconfdir = @sysconfdir@
target_alias = @target_alias@
@AUTOTESTS_TRUE@test_context_SOURCES = test-context.cc
#don't build anything
@AUTOTESTS_FALSE@TESTS =
@AUTOTESTS_TRUE@TESTS = test-context
#Where to find the header files needed by the source files:
INCLUDES = -I$(top_srcdir) @CAIROMM_CFLAGS@
all: all-am
.SUFFIXES:
.SUFFIXES: .cc .lo .o .obj
$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
@for dep in $?; do \
case '$(am__configure_deps)' in \
*$$dep*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
&& exit 0; \
exit 1;; \
esac; \
done; \
echo ' cd $(top_srcdir) && $(AUTOMAKE) --gnu tests/Makefile'; \
cd $(top_srcdir) && \
$(AUTOMAKE) --gnu tests/Makefile
.PRECIOUS: Makefile
Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
@case '$?' in \
*config.status*) \
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
*) \
echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
esac;
$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(top_srcdir)/configure: $(am__configure_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
$(ACLOCAL_M4): $(am__aclocal_m4_deps)
cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
clean-noinstPROGRAMS:
@list='$(noinst_PROGRAMS)'; for p in $$list; do \
f=`echo $$p|sed 's/$(EXEEXT)$$//'`; \
echo " rm -f $$p $$f"; \
rm -f $$p $$f ; \
done
test-context$(EXEEXT): $(test_context_OBJECTS) $(test_context_DEPENDENCIES)
@rm -f test-context$(EXEEXT)
$(CXXLINK) $(test_context_LDFLAGS) $(test_context_OBJECTS) $(test_context_LDADD) $(LIBS)
mostlyclean-compile:
-rm -f *.$(OBJEXT)
distclean-compile:
-rm -f *.tab.c
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/test-context.Po@am__quote@
.cc.o:
@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ $<
.cc.obj:
@am__fastdepCXX_TRUE@ if $(CXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ `$(CYGPATH_W) '$<'`; \
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Po"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=no @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(CXXCOMPILE) -c -o $@ `$(CYGPATH_W) '$<'`
.cc.lo:
@am__fastdepCXX_TRUE@ if $(LTCXXCOMPILE) -MT $@ -MD -MP -MF "$(DEPDIR)/$*.Tpo" -c -o $@ $<; \
@am__fastdepCXX_TRUE@ then mv -f "$(DEPDIR)/$*.Tpo" "$(DEPDIR)/$*.Plo"; else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; fi
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ source='$<' object='$@' libtool=yes @AMDEPBACKSLASH@
@AMDEP_TRUE@@am__fastdepCXX_FALSE@ DEPDIR=$(DEPDIR) $(CXXDEPMODE) $(depcomp) @AMDEPBACKSLASH@
@am__fastdepCXX_FALSE@ $(LTCXXCOMPILE) -c -o $@ $<
mostlyclean-libtool:
-rm -f *.lo
clean-libtool:
-rm -rf .libs _libs
distclean-libtool:
-rm -f libtool
uninstall-info-am:
ID: $(HEADERS) $(SOURCES) $(LISP) $(TAGS_FILES)
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
mkid -fID $$unique
tags: TAGS
TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
if test -z "$(ETAGS_ARGS)$$tags$$unique"; then :; else \
test -n "$$unique" || unique=$$empty_fix; \
$(ETAGS) $(ETAGSFLAGS) $(AM_ETAGSFLAGS) $(ETAGS_ARGS) \
$$tags $$unique; \
fi
ctags: CTAGS
CTAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) \
$(TAGS_FILES) $(LISP)
tags=; \
here=`pwd`; \
list='$(SOURCES) $(HEADERS) $(LISP) $(TAGS_FILES)'; \
unique=`for i in $$list; do \
if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \
done | \
$(AWK) ' { files[$$0] = 1; } \
END { for (i in files) print i; }'`; \
test -z "$(CTAGS_ARGS)$$tags$$unique" \
|| $(CTAGS) $(CTAGSFLAGS) $(AM_CTAGSFLAGS) $(CTAGS_ARGS) \
$$tags $$unique
GTAGS:
here=`$(am__cd) $(top_builddir) && pwd` \
&& cd $(top_srcdir) \
&& gtags -i $(GTAGS_ARGS) $$here
distclean-tags:
-rm -f TAGS ID GTAGS GRTAGS GSYMS GPATH tags
check-TESTS: $(TESTS)
@failed=0; all=0; xfail=0; xpass=0; skip=0; \
srcdir=$(srcdir); export srcdir; \
list='$(TESTS)'; \
if test -n "$$list"; then \
for tst in $$list; do \
if test -f ./$$tst; then dir=./; \
elif test -f $$tst; then dir=; \
else dir="$(srcdir)/"; fi; \
if $(TESTS_ENVIRONMENT) $${dir}$$tst; then \
all=`expr $$all + 1`; \
case " $(XFAIL_TESTS) " in \
*" $$tst "*) \
xpass=`expr $$xpass + 1`; \
failed=`expr $$failed + 1`; \
echo "XPASS: $$tst"; \
;; \
*) \
echo "PASS: $$tst"; \
;; \
esac; \
elif test $$? -ne 77; then \
all=`expr $$all + 1`; \
case " $(XFAIL_TESTS) " in \
*" $$tst "*) \
xfail=`expr $$xfail + 1`; \
echo "XFAIL: $$tst"; \
;; \
*) \
failed=`expr $$failed + 1`; \
echo "FAIL: $$tst"; \
;; \
esac; \
else \
skip=`expr $$skip + 1`; \
echo "SKIP: $$tst"; \
fi; \
done; \
if test "$$failed" -eq 0; then \
if test "$$xfail" -eq 0; then \
banner="All $$all tests passed"; \
else \
banner="All $$all tests behaved as expected ($$xfail expected failures)"; \
fi; \
else \
if test "$$xpass" -eq 0; then \
banner="$$failed of $$all tests failed"; \
else \
banner="$$failed of $$all tests did not behave as expected ($$xpass unexpected passes)"; \
fi; \
fi; \
dashes="$$banner"; \
skipped=""; \
if test "$$skip" -ne 0; then \
skipped="($$skip tests were not run)"; \
test `echo "$$skipped" | wc -c` -le `echo "$$banner" | wc -c` || \
dashes="$$skipped"; \
fi; \
report=""; \
if test "$$failed" -ne 0 && test -n "$(PACKAGE_BUGREPORT)"; then \
report="Please report to $(PACKAGE_BUGREPORT)"; \
test `echo "$$report" | wc -c` -le `echo "$$banner" | wc -c` || \
dashes="$$report"; \
fi; \
dashes=`echo "$$dashes" | sed s/./=/g`; \
echo "$$dashes"; \
echo "$$banner"; \
test -z "$$skipped" || echo "$$skipped"; \
test -z "$$report" || echo "$$report"; \
echo "$$dashes"; \
test "$$failed" -eq 0; \
else :; fi
distdir: $(DISTFILES)
@srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
list='$(DISTFILES)'; for file in $$list; do \
case $$file in \
$(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
$(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
esac; \
if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
if test "$$dir" != "$$file" && test "$$dir" != "."; then \
dir="/$$dir"; \
$(mkdir_p) "$(distdir)$$dir"; \
else \
dir=''; \
fi; \
if test -d $$d/$$file; then \
if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
fi; \
cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
else \
test -f $(distdir)/$$file \
|| cp -p $$d/$$file $(distdir)/$$file \
|| exit 1; \
fi; \
done
check-am: all-am
$(MAKE) $(AM_MAKEFLAGS) check-TESTS
check: check-am
all-am: Makefile $(PROGRAMS)
installdirs:
install: install-am
install-exec: install-exec-am
install-data: install-data-am
uninstall: uninstall-am
install-am: all-am
@$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
installcheck: installcheck-am
install-strip:
$(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
`test -z '$(STRIP)' || \
echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
mostlyclean-generic:
clean-generic:
distclean-generic:
-test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
clean: clean-am
clean-am: clean-generic clean-libtool clean-noinstPROGRAMS \
mostlyclean-am
distclean: distclean-am
-rm -rf ./$(DEPDIR)
-rm -f Makefile
distclean-am: clean-am distclean-compile distclean-generic \
distclean-libtool distclean-tags
dvi: dvi-am
dvi-am:
html: html-am
info: info-am
info-am:
install-data-am:
install-exec-am:
install-info: install-info-am
install-man:
installcheck-am:
maintainer-clean: maintainer-clean-am
-rm -rf ./$(DEPDIR)
-rm -f Makefile
maintainer-clean-am: distclean-am maintainer-clean-generic
mostlyclean: mostlyclean-am
mostlyclean-am: mostlyclean-compile mostlyclean-generic \
mostlyclean-libtool
pdf: pdf-am
pdf-am:
ps: ps-am
ps-am:
uninstall-am: uninstall-info-am
.PHONY: CTAGS GTAGS all all-am check check-TESTS check-am clean \
clean-generic clean-libtool clean-noinstPROGRAMS ctags \
distclean distclean-compile distclean-generic \
distclean-libtool distclean-tags distdir dvi dvi-am html \
html-am info info-am install install-am install-data \
install-data-am install-exec install-exec-am install-info \
install-info-am install-man install-strip installcheck \
installcheck-am installdirs maintainer-clean \
maintainer-clean-generic mostlyclean mostlyclean-compile \
mostlyclean-generic mostlyclean-libtool pdf pdf-am ps ps-am \
tags uninstall uninstall-am uninstall-info-am
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

View File

@ -1,349 +0,0 @@
// vim: ts=2 sw=2 et
/*
* These tests are of limited usefulness. In fact, you might even say that
* they're not really tests at all. But I felt that it would be useful to have
* some basic usage of most functions just to verify that things compile and
* work generally
*/
#include <cfloat>
#include <boost/test/unit_test.hpp>
#include <boost/test/test_tools.hpp>
#include <boost/test/floating_point_comparison.hpp>
using namespace boost::unit_test;
#include <cairomm/context.h>
#define CREATE_CONTEXT(varname) \
Cairo::RefPtr<Cairo::Surface> surf = Cairo::ImageSurface::create(Cairo::FORMAT_ARGB32, 10, 10); \
Cairo::RefPtr<Cairo::Context> cr = Cairo::Context::create(surf);
void
test_dashes ()
{
CREATE_CONTEXT(cr);
std::valarray<double> dash_array(4);
dash_array[0] = 0.1;
dash_array[1] = 0.2;
dash_array[2] = 0.04;
dash_array[3] = 0.31;
cr->set_dash(dash_array, 0.54);
std::vector<double> get_array;
double get_offset;
cr->get_dash (get_array, get_offset);
BOOST_CHECK_EQUAL (dash_array[0], get_array[0]);
BOOST_CHECK_EQUAL (dash_array[1], get_array[1]);
BOOST_CHECK_EQUAL (dash_array[2], get_array[2]);
BOOST_CHECK_EQUAL (dash_array[3], get_array[3]);
BOOST_CHECK_EQUAL (0.54, get_offset);
std::vector<double> dash_vect(4);
dash_vect[0] = 0.5;
dash_vect[1] = 0.25;
dash_vect[2] = 0.93;
dash_vect[3] = 1.31;
cr->set_dash(dash_vect, 0.4);
cr->get_dash (get_array, get_offset);
BOOST_CHECK_EQUAL (dash_vect[0], get_array[0]);
BOOST_CHECK_EQUAL (dash_vect[1], get_array[1]);
BOOST_CHECK_EQUAL (dash_vect[2], get_array[2]);
BOOST_CHECK_EQUAL (dash_vect[3], get_array[3]);
BOOST_CHECK_EQUAL (0.4, get_offset);
cr->unset_dash ();
cr->get_dash (get_array, get_offset);
BOOST_CHECK (get_array.empty ());
}
void
test_save_restore ()
{
CREATE_CONTEXT(cr);
cr->set_line_width (2.3);
cr->save ();
cr->set_line_width (4.0);
BOOST_CHECK_EQUAL (4.0, cr->get_line_width ());
cr->restore ();
BOOST_CHECK_EQUAL (2.3, cr->get_line_width ());
}
void
test_operator ()
{
CREATE_CONTEXT(cr);
cr->set_operator (Cairo::OPERATOR_ATOP);
BOOST_CHECK_EQUAL (Cairo::OPERATOR_ATOP, cr->get_operator ());
cr->set_operator (Cairo::OPERATOR_CLEAR);
BOOST_CHECK_EQUAL (Cairo::OPERATOR_CLEAR, cr->get_operator ());
}
void
test_source ()
{
CREATE_CONTEXT(cr);
Cairo::RefPtr<Cairo::Pattern> solid_pattern =
Cairo::SolidPattern::create_rgb (1.0, 0.5, 0.25);
Cairo::RefPtr<Cairo::Pattern> gradient_pattern =
Cairo::LinearGradient::create (0.0, 0.0, 1.0, 1.0);
cr->set_source (solid_pattern);
{
Cairo::RefPtr<Cairo::SolidPattern> retrieved_solid =
Cairo::RefPtr<Cairo::SolidPattern>::cast_dynamic(cr->get_source ());
BOOST_REQUIRE (retrieved_solid);
double r, g, b, a;
retrieved_solid->get_rgba (r, g, b, a);
BOOST_CHECK_EQUAL (1.0, r);
BOOST_CHECK_EQUAL (0.5, g);
BOOST_CHECK_EQUAL (0.25, b);
// now try for const objects..
Cairo::RefPtr<const Cairo::Context> cr2 = cr;
Cairo::RefPtr<const Cairo::SolidPattern> retrieved_solid2 =
Cairo::RefPtr<const Cairo::SolidPattern>::cast_dynamic(cr2->get_source ());
BOOST_REQUIRE (retrieved_solid2);
}
cr->set_source (gradient_pattern);
{
Cairo::RefPtr<Cairo::LinearGradient> retrieved_linear =
Cairo::RefPtr<Cairo::LinearGradient>::cast_dynamic(cr->get_source ());
BOOST_REQUIRE (retrieved_linear);
double x0, x1, y0, y1;
retrieved_linear->get_linear_points (x0, y0, x1, y1);
BOOST_CHECK_EQUAL (0.0, x0);
BOOST_CHECK_EQUAL (0.0, y0);
BOOST_CHECK_EQUAL (1.0, x1);
BOOST_CHECK_EQUAL (1.0, y1);
}
cr->set_source_rgb (1.0, 0.5, 0.25);
{
Cairo::RefPtr<Cairo::SolidPattern> solid =
Cairo::RefPtr<Cairo::SolidPattern>::cast_dynamic(cr->get_source ());
BOOST_REQUIRE (solid);
double rx, gx, bx, ax;
solid->get_rgba (rx, gx, bx, ax);
BOOST_CHECK_EQUAL (1.0, rx);
BOOST_CHECK_EQUAL (0.5, gx);
BOOST_CHECK_EQUAL (0.25, bx);
}
cr->set_source_rgba (0.1, 0.3, 0.5, 0.7);
{
Cairo::RefPtr<Cairo::SolidPattern> solid =
Cairo::RefPtr<Cairo::SolidPattern>::cast_dynamic(cr->get_source ());
BOOST_REQUIRE (solid);
double rx, gx, bx, ax;
solid->get_rgba (rx, gx, bx, ax);
BOOST_CHECK_EQUAL (0.1, rx);
BOOST_CHECK_EQUAL (0.3, gx);
BOOST_CHECK_EQUAL (0.5, bx);
BOOST_CHECK_EQUAL (0.7, ax);
}
}
void
test_tolerance ()
{
CREATE_CONTEXT(cr);
cr->set_tolerance (3.0);
BOOST_CHECK_EQUAL (3.0, cr->get_tolerance ());
}
void
test_antialias ()
{
CREATE_CONTEXT(cr);
cr->set_antialias (Cairo::ANTIALIAS_GRAY);
BOOST_CHECK_EQUAL (Cairo::ANTIALIAS_GRAY, cr->get_antialias ());
cr->set_antialias (Cairo::ANTIALIAS_SUBPIXEL);
BOOST_CHECK_EQUAL (Cairo::ANTIALIAS_SUBPIXEL, cr->get_antialias ());
}
void
test_fill_rule ()
{
CREATE_CONTEXT(cr);
cr->set_fill_rule (Cairo::FILL_RULE_EVEN_ODD);
BOOST_CHECK_EQUAL (Cairo::FILL_RULE_EVEN_ODD, cr->get_fill_rule ());
cr->set_fill_rule (Cairo::FILL_RULE_WINDING);
BOOST_CHECK_EQUAL (Cairo::FILL_RULE_WINDING, cr->get_fill_rule ());
}
void
test_line_width ()
{
CREATE_CONTEXT(cr);
cr->set_line_width (1.0);
BOOST_CHECK_EQUAL (1.0, cr->get_line_width ());
cr->set_line_width (4.0);
BOOST_CHECK_EQUAL (4.0, cr->get_line_width ());
}
void
test_line_cap ()
{
CREATE_CONTEXT(cr);
cr->set_line_cap (Cairo::LINE_CAP_BUTT);
BOOST_CHECK_EQUAL (Cairo::LINE_CAP_BUTT, cr->get_line_cap ());
cr->set_line_cap (Cairo::LINE_CAP_ROUND);
BOOST_CHECK_EQUAL (Cairo::LINE_CAP_ROUND, cr->get_line_cap ());
}
void
test_line_join ()
{
CREATE_CONTEXT(cr);
cr->set_line_join (Cairo::LINE_JOIN_BEVEL);
BOOST_CHECK_EQUAL (Cairo::LINE_JOIN_BEVEL, cr->get_line_join ());
cr->set_line_join (Cairo::LINE_JOIN_MITER);
BOOST_CHECK_EQUAL (Cairo::LINE_JOIN_MITER, cr->get_line_join ());
}
void
test_miter_limit ()
{
CREATE_CONTEXT (cr);
cr->set_miter_limit (1.3);
BOOST_CHECK_EQUAL (1.3, cr->get_miter_limit ());
cr->set_miter_limit (4.12);
BOOST_CHECK_EQUAL (4.12, cr->get_miter_limit ());
}
void
test_matrix ()
{
// just excercise the functionality
CREATE_CONTEXT (cr);
Cairo::Matrix matrix;
cairo_matrix_init (&matrix, 1.0, 0.1, 0.1, 1.0, 1.5, 1.5);
cr->transform(matrix);
cairo_matrix_init (&matrix, 1.0, -0.1, -0.1, 1.0, 1.5, 1.5);
cr->set_matrix(matrix);
cr->set_identity_matrix ();
cr->get_matrix (matrix);
}
void
test_user_device ()
{
// scale / transform a context, and then verify that user-to-device and
// device-to-user things work.
CREATE_CONTEXT (cr);
cr->scale (2.3, 2.3);
double x = 1.8, y = 1.8;
cr->user_to_device (x, y);
// x = (0.0 + x) * 2.3 => 1.8 * 2.3 = 5.29
BOOST_CHECK_EQUAL (4.14, x);
BOOST_CHECK_EQUAL (4.14, y);
cr->device_to_user (x, y);
BOOST_CHECK_EQUAL (1.8, x);
BOOST_CHECK_EQUAL (1.8, y);
cr->translate (0.5, 0.5);
cr->user_to_device (x, y);
// x = (0.5 + x) * 2.3 => 2.3 * 2.3 = 5.29
BOOST_CHECK_CLOSE (5.29, x, FLT_EPSILON);
BOOST_CHECK_CLOSE (5.29, y, FLT_EPSILON);
}
void
test_draw ()
{
CREATE_CONTEXT (cr);
// just call a bunch of drawing functions to excercise them a bit. There's no
// rhyme or reason to this, don't expect it to draw anything interesting.
cr->begin_new_path ();
cr->move_to (1.0, 1.0);
cr->line_to (2.0, 2.0);
cr->curve_to (0.5, 0.5, 0.5, 0.5, 1.0, 1.0);
cr->arc (1.5, 0.5, 0.5, 0, 2 * M_PI);
cr->stroke ();
cr->arc_negative (1.5, 0.5, 0.5, 0, 2 * M_PI);
cr->rel_move_to (0.1, 0.1);
cr->rel_line_to (0.5, -0.5);
cr->rel_curve_to (0.5, 0.5, 0.5, 0.5, 1.0, 1.0);
cr->rectangle (0.0, 0.0, 1.0, 1.0);
cr->close_path ();
cr->paint ();
}
void
test_clip ()
{
CREATE_CONTEXT (cr);
cr->rectangle (0.0, 0.0, 1.0, 1.0);
cr->clip ();
double x1, y1, x2, y2;
cr->get_clip_extents (x1, y1, x2, y2);
BOOST_CHECK (x1 == 0.0);
BOOST_CHECK (y1 == 0.0);
BOOST_CHECK (x2 == 1.0);
BOOST_CHECK (y2 == 1.0);
}
void
test_current_point ()
{
CREATE_CONTEXT (cr);
cr->move_to (2.0, 3.0);
double x, y;
cr->get_current_point (x, y);
BOOST_CHECK (x == 2.0);
BOOST_CHECK (y == 3.0);
}
void
test_target ()
{
Cairo::RefPtr<Cairo::Surface> surf = Cairo::ImageSurface::create(Cairo::FORMAT_ARGB32, 10, 10); \
Cairo::RefPtr<Cairo::Context> cr = Cairo::Context::create(surf);
Cairo::RefPtr<Cairo::ImageSurface> target_surface =
Cairo::RefPtr<Cairo::ImageSurface>::cast_dynamic(cr->get_target ());
Cairo::RefPtr<Cairo::PdfSurface> bad_surface =
Cairo::RefPtr<Cairo::PdfSurface>::cast_dynamic(cr->get_target ());
BOOST_CHECK (target_surface);
BOOST_CHECK (!bad_surface);
// now check for const objects...
Cairo::RefPtr<const Cairo::Context> cr2 = Cairo::Context::create(surf);
Cairo::RefPtr<const Cairo::ImageSurface> target_surface2 =
Cairo::RefPtr<const Cairo::ImageSurface>::cast_dynamic(cr2->get_target ());
Cairo::RefPtr<const Cairo::PdfSurface> bad_surface2 =
Cairo::RefPtr<const Cairo::PdfSurface>::cast_dynamic(cr2->get_target ());
BOOST_CHECK (target_surface2);
BOOST_CHECK (!bad_surface2);
}
test_suite*
init_unit_test_suite(int argc, char* argv[])
{
// compile even with -Werror
if (argc && argv) {}
test_suite* test= BOOST_TEST_SUITE( "Cairo::Context Tests" );
test->add (BOOST_TEST_CASE (&test_dashes));
test->add (BOOST_TEST_CASE (&test_save_restore));
test->add (BOOST_TEST_CASE (&test_operator));
test->add (BOOST_TEST_CASE (&test_source));
test->add (BOOST_TEST_CASE (&test_tolerance));
test->add (BOOST_TEST_CASE (&test_antialias));
test->add (BOOST_TEST_CASE (&test_fill_rule));
test->add (BOOST_TEST_CASE (&test_line_width));
test->add (BOOST_TEST_CASE (&test_line_cap));
test->add (BOOST_TEST_CASE (&test_line_join));
test->add (BOOST_TEST_CASE (&test_miter_limit));
test->add (BOOST_TEST_CASE (&test_matrix));
test->add (BOOST_TEST_CASE (&test_user_device));
test->add (BOOST_TEST_CASE (&test_draw));
test->add (BOOST_TEST_CASE (&test_clip));
test->add (BOOST_TEST_CASE (&test_current_point));
test->add (BOOST_TEST_CASE (&test_target));
return test;
}

View File

@ -1,50 +0,0 @@
# -*- python -*-
import os.path
import glob
libclearlooks_files = [
'animation.c',
'cairo-support.c',
'clearlooks_draw.c',
'clearlooks_draw_glossy.c',
'clearlooks_draw_gummy.c',
'clearlooks_draw_inverted.c',
'clearlooks_rc_style.c',
'clearlooks_style.c',
'clearlooks_theme_main.c',
'support.c',
'widget-information.c'
]
Import ('env install_prefix')
clearlooks = env.Clone()
clearlooks.Replace(CCFLAGS = ' `pkg-config --cflags gtk+-2.0 cairo` ',
LINKFLAGS = ' `pkg-config --libs gtk+-2.0 cairo` ')
if env['GTKOSX']:
clearlooks.Append (CCFLAGS = '-DGTKOSX')
libclearlooks = clearlooks.SharedLibrary('clearlooks', libclearlooks_files)
usable_libclearlooks = clearlooks.Install ('engines', libclearlooks)
if env['GTKOSX']:
# GTK looks only for foo.so, not foo.dylib
print ("GTKOSX part");
really_usable_module = clearlooks.Command ('engines/libclearlooks.so', usable_libclearlooks, 'ln -s libclearlooks.dylib libclearlooks.so', chdir=1)
Default (really_usable_module)
else:
print ("non-GTKOSX part");
Default (usable_libclearlooks)
env.Alias('install', env.Install (
os.path.join(install_prefix,env['LIBDIR'], 'ardour3', 'engines'),
libclearlooks))
env.Alias('tarball', env.Distribute (env['DISTTREE'],
[ 'SConscript', 'bits.c'] +
libclearlooks_files +
glob.glob('*.h')
))

View File

@ -1,36 +0,0 @@
# -*- python -*-
import os.path
import glob
libclearlooks_files = [
'clearlooks_draw.c',
'clearlooks_rc_style.c',
'clearlooks_style.c',
'clearlooks_theme_main.c',
'support.c' ]
Import ('env install_prefix')
clearlooks = env.Clone()
clearlooks.Replace(CCFLAGS = ' `pkg-config --cflags gtk+-2.0` ',
LINKFLAGS = ' `pkg-config --libs gtk+-2.0` ')
if env['GTKOSX']:
clearlooks.Append (CCFLAGS = '-DGTKOSX')
libclearlooks = clearlooks.SharedLibrary('clearlooks', libclearlooks_files)
usable_libclearlooks = clearlooks.Install ('engines', libclearlooks)
Default (usable_libclearlooks)
env.Alias('install',
env.Install(os.path.join(install_prefix,env['LIBDIR'], 'ardour3', 'engines'),
libclearlooks))
env.Alias('tarball', env.Distribute (env['DISTTREE'],
[ 'SConscript', 'bits.c'] +
libclearlooks_files +
glob.glob('*.h')
))

View File

@ -1,49 +0,0 @@
# -*- python -*-
import os
import os.path
import glob
Import('env libraries install_prefix')
evoral = env.Clone()
evoral.Merge([
libraries['glib2'],
libraries['sigc2'],
libraries['glibmm2'],
libraries['xml'],
libraries['pbd'],
libraries['boost'],
libraries['smf']
])
if evoral['IS_OSX']:
evoral.Append (LINKFLAGS="-Xlinker -headerpad -Xlinker 2048")
domain = 'evoral'
evoral.Append(DOMAIN=domain, MAJOR=1, MINOR=0, MICRO=0)
evoral.Append(CXXFLAGS="-DEVORAL_MIDI_XML")
sources = Split("""
src/Control.cpp
src/ControlList.cpp
src/ControlSet.cpp
src/Curve.cpp
src/Event.cpp
src/MIDIEvent.cpp
src/Note.cpp
src/SMF.cpp
src/SMFReader.cpp
src/Sequence.cpp
""")
libevoral = evoral.SharedLibrary('evoral', [ sources ])
Default(libevoral)
env.Alias('install', env.Install(os.path.join(install_prefix, env['LIBDIR'], 'ardour3'), libevoral))
env.Alias('tarball', env.Distribute (env['DISTTREE'],
[ 'SConscript' ] + sources +
glob.glob('midi++/*.h')))

Some files were not shown because too many files have changed in this diff Show More