poppler 2.2.4-x64-mingw32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/README +35 -0
- data/Rakefile +75 -0
- data/ext/poppler/depend +6 -0
- data/ext/poppler/extconf.rb +70 -0
- data/ext/poppler/poppler.def +2 -0
- data/ext/poppler/rbpoppler-action.c +372 -0
- data/ext/poppler/rbpoppler-annotation-callout-line.c +127 -0
- data/ext/poppler/rbpoppler-annotation-free-text.c +46 -0
- data/ext/poppler/rbpoppler-annotation-mapping.c +72 -0
- data/ext/poppler/rbpoppler-annotation-markup.c +98 -0
- data/ext/poppler/rbpoppler-annotation-text.c +53 -0
- data/ext/poppler/rbpoppler-annotation.c +74 -0
- data/ext/poppler/rbpoppler-attachment.c +124 -0
- data/ext/poppler/rbpoppler-button-field.c +56 -0
- data/ext/poppler/rbpoppler-choice-field.c +131 -0
- data/ext/poppler/rbpoppler-color.c +107 -0
- data/ext/poppler/rbpoppler-document.c +224 -0
- data/ext/poppler/rbpoppler-font-info.c +59 -0
- data/ext/poppler/rbpoppler-fonts-iter.c +127 -0
- data/ext/poppler/rbpoppler-form-field-mapping.c +44 -0
- data/ext/poppler/rbpoppler-form-field.c +98 -0
- data/ext/poppler/rbpoppler-image-mapping.c +48 -0
- data/ext/poppler/rbpoppler-index-iter.c +128 -0
- data/ext/poppler/rbpoppler-link-mapping.c +47 -0
- data/ext/poppler/rbpoppler-page-transition.c +59 -0
- data/ext/poppler/rbpoppler-page.c +322 -0
- data/ext/poppler/rbpoppler-private.h +77 -0
- data/ext/poppler/rbpoppler-ps-file.c +66 -0
- data/ext/poppler/rbpoppler-rectangle.c +92 -0
- data/ext/poppler/rbpoppler-text-field.c +91 -0
- data/ext/poppler/rbpoppler.c +111 -0
- data/ext/poppler/rbpoppler.h +61 -0
- data/ext/poppler/rbpopplerconversions.h +105 -0
- data/extconf.rb +49 -0
- data/lib/2.0/poppler.so +0 -0
- data/lib/2.1/poppler.so +0 -0
- data/lib/2.2/poppler.so +0 -0
- data/lib/poppler.rb +105 -0
- data/sample/number-pdf.rb +32 -0
- data/sample/pdf2.rb +132 -0
- data/sample/pdf2svg.rb +26 -0
- data/sample/pdf2text.rb +16 -0
- data/sample/pdfcrop.rb +32 -0
- data/sample/pdfdiv.rb +36 -0
- data/test/fixtures/image.pdf +0 -0
- data/test/fixtures/image.png +0 -0
- data/test/poppler-test-utils.rb +58 -0
- data/test/run-test.rb +32 -0
- data/test/test_annotation.rb +86 -0
- data/test/test_color.rb +26 -0
- data/test/test_constants.rb +30 -0
- data/test/test_document.rb +41 -0
- data/test/test_page.rb +42 -0
- data/vendor/local/bin/cjpeg.exe +0 -0
- data/vendor/local/bin/djpeg.exe +0 -0
- data/vendor/local/bin/jpegtran.exe +0 -0
- data/vendor/local/bin/libjpeg-9.dll +0 -0
- data/vendor/local/bin/libpoppler-48.dll +0 -0
- data/vendor/local/bin/libpoppler-cpp-0.dll +0 -0
- data/vendor/local/bin/libpoppler-glib-8.dll +0 -0
- data/vendor/local/bin/libsqlite3-0.dll +0 -0
- data/vendor/local/bin/pdfdetach.exe +0 -0
- data/vendor/local/bin/pdffonts.exe +0 -0
- data/vendor/local/bin/pdfimages.exe +0 -0
- data/vendor/local/bin/pdfinfo.exe +0 -0
- data/vendor/local/bin/pdfseparate.exe +0 -0
- data/vendor/local/bin/pdftocairo.exe +0 -0
- data/vendor/local/bin/pdftohtml.exe +0 -0
- data/vendor/local/bin/pdftoppm.exe +0 -0
- data/vendor/local/bin/pdftops.exe +0 -0
- data/vendor/local/bin/pdftotext.exe +0 -0
- data/vendor/local/bin/pdfunite.exe +0 -0
- data/vendor/local/bin/rdjpgcom.exe +0 -0
- data/vendor/local/bin/sqlite3.exe +0 -0
- data/vendor/local/bin/wrjpgcom.exe +0 -0
- data/vendor/local/include/jconfig.h +60 -0
- data/vendor/local/include/jerror.h +304 -0
- data/vendor/local/include/jmorecfg.h +446 -0
- data/vendor/local/include/jpeglib.h +1180 -0
- data/vendor/local/include/poppler/cpp/poppler-document.h +104 -0
- data/vendor/local/include/poppler/cpp/poppler-embedded-file.h +55 -0
- data/vendor/local/include/poppler/cpp/poppler-font.h +91 -0
- data/vendor/local/include/poppler/cpp/poppler-global.h +111 -0
- data/vendor/local/include/poppler/cpp/poppler-image.h +71 -0
- data/vendor/local/include/poppler/cpp/poppler-page-renderer.h +66 -0
- data/vendor/local/include/poppler/cpp/poppler-page-transition.h +82 -0
- data/vendor/local/include/poppler/cpp/poppler-page.h +76 -0
- data/vendor/local/include/poppler/cpp/poppler-rectangle.h +84 -0
- data/vendor/local/include/poppler/cpp/poppler-toc.h +74 -0
- data/vendor/local/include/poppler/cpp/poppler-version.h +39 -0
- data/vendor/local/include/poppler/glib/poppler-action.h +316 -0
- data/vendor/local/include/poppler/glib/poppler-annot.h +296 -0
- data/vendor/local/include/poppler/glib/poppler-attachment.h +87 -0
- data/vendor/local/include/poppler/glib/poppler-date.h +30 -0
- data/vendor/local/include/poppler/glib/poppler-document.h +299 -0
- data/vendor/local/include/poppler/glib/poppler-enums.h +116 -0
- data/vendor/local/include/poppler/glib/poppler-features.h +88 -0
- data/vendor/local/include/poppler/glib/poppler-form-field.h +111 -0
- data/vendor/local/include/poppler/glib/poppler-layer.h +43 -0
- data/vendor/local/include/poppler/glib/poppler-media.h +73 -0
- data/vendor/local/include/poppler/glib/poppler-movie.h +42 -0
- data/vendor/local/include/poppler/glib/poppler-page.h +377 -0
- data/vendor/local/include/poppler/glib/poppler-structure-element.h +357 -0
- data/vendor/local/include/poppler/glib/poppler.h +250 -0
- data/vendor/local/include/sqlite3.h +7494 -0
- data/vendor/local/include/sqlite3ext.h +487 -0
- data/vendor/local/lib/girepository-1.0/Poppler-0.18.typelib +0 -0
- data/vendor/local/lib/libjpeg.a +0 -0
- data/vendor/local/lib/libjpeg.dll.a +0 -0
- data/vendor/local/lib/libjpeg.la +41 -0
- data/vendor/local/lib/libpoppler-cpp.a +0 -0
- data/vendor/local/lib/libpoppler-cpp.dll.a +0 -0
- data/vendor/local/lib/libpoppler-cpp.la +41 -0
- data/vendor/local/lib/libpoppler-glib.a +0 -0
- data/vendor/local/lib/libpoppler-glib.dll.a +0 -0
- data/vendor/local/lib/libpoppler-glib.la +41 -0
- data/vendor/local/lib/libpoppler.a +0 -0
- data/vendor/local/lib/libpoppler.dll.a +0 -0
- data/vendor/local/lib/libpoppler.la +41 -0
- data/vendor/local/lib/libsqlite3.a +0 -0
- data/vendor/local/lib/libsqlite3.dll.a +0 -0
- data/vendor/local/lib/libsqlite3.la +41 -0
- data/vendor/local/lib/pkgconfig/poppler-cairo.pc +9 -0
- data/vendor/local/lib/pkgconfig/poppler-cpp.pc +13 -0
- data/vendor/local/lib/pkgconfig/poppler-glib.pc +13 -0
- data/vendor/local/lib/pkgconfig/poppler-splash.pc +9 -0
- data/vendor/local/lib/pkgconfig/poppler.pc +11 -0
- data/vendor/local/lib/pkgconfig/sqlite3.pc +13 -0
- data/vendor/local/share/gir-1.0/Poppler-0.18.gir +8281 -0
- data/vendor/local/share/gtk-doc/html/poppler/PopplerAnnot.html +3221 -0
- data/vendor/local/share/gtk-doc/html/poppler/PopplerAttachment.html +267 -0
- data/vendor/local/share/gtk-doc/html/poppler/PopplerDocument.html +3328 -0
- data/vendor/local/share/gtk-doc/html/poppler/PopplerFormField.html +1403 -0
- data/vendor/local/share/gtk-doc/html/poppler/PopplerLayer.html +307 -0
- data/vendor/local/share/gtk-doc/html/poppler/PopplerMedia.html +381 -0
- data/vendor/local/share/gtk-doc/html/poppler/PopplerMovie.html +197 -0
- data/vendor/local/share/gtk-doc/html/poppler/PopplerPage.html +3002 -0
- data/vendor/local/share/gtk-doc/html/poppler/PopplerStructureElement.html +3781 -0
- data/vendor/local/share/gtk-doc/html/poppler/annotation-glossary.html +63 -0
- data/vendor/local/share/gtk-doc/html/poppler/api-index-0-12.html +123 -0
- data/vendor/local/share/gtk-doc/html/poppler/api-index-0-14.html +102 -0
- data/vendor/local/share/gtk-doc/html/poppler/api-index-0-16.html +180 -0
- data/vendor/local/share/gtk-doc/html/poppler/api-index-0-18.html +72 -0
- data/vendor/local/share/gtk-doc/html/poppler/api-index-0-20.html +39 -0
- data/vendor/local/share/gtk-doc/html/poppler/api-index-0-22.html +64 -0
- data/vendor/local/share/gtk-doc/html/poppler/api-index-deprecated.html +39 -0
- data/vendor/local/share/gtk-doc/html/poppler/api-index-full.html +1830 -0
- data/vendor/local/share/gtk-doc/html/poppler/ch01.html +74 -0
- data/vendor/local/share/gtk-doc/html/poppler/home.png +0 -0
- data/vendor/local/share/gtk-doc/html/poppler/index.html +85 -0
- data/vendor/local/share/gtk-doc/html/poppler/index.sgml +557 -0
- data/vendor/local/share/gtk-doc/html/poppler/left-insensitive.png +0 -0
- data/vendor/local/share/gtk-doc/html/poppler/left.png +0 -0
- data/vendor/local/share/gtk-doc/html/poppler/poppler-PDF-Utility-functions.html +107 -0
- data/vendor/local/share/gtk-doc/html/poppler/poppler-PopplerAction.html +796 -0
- data/vendor/local/share/gtk-doc/html/poppler/poppler-PopplerColor.html +201 -0
- data/vendor/local/share/gtk-doc/html/poppler/poppler-Version-and-Features-Information.html +254 -0
- data/vendor/local/share/gtk-doc/html/poppler/poppler-poppler.html +169 -0
- data/vendor/local/share/gtk-doc/html/poppler/poppler.devhelp2 +470 -0
- data/vendor/local/share/gtk-doc/html/poppler/right-insensitive.png +0 -0
- data/vendor/local/share/gtk-doc/html/poppler/right.png +0 -0
- data/vendor/local/share/gtk-doc/html/poppler/style.css +476 -0
- data/vendor/local/share/gtk-doc/html/poppler/up-insensitive.png +0 -0
- data/vendor/local/share/gtk-doc/html/poppler/up.png +0 -0
- data/vendor/local/share/license/poppler/AUTHORS +5 -0
- data/vendor/local/share/license/poppler/COPYING +339 -0
- data/vendor/local/share/man/man1/cjpeg.1 +387 -0
- data/vendor/local/share/man/man1/djpeg.1 +252 -0
- data/vendor/local/share/man/man1/jpegtran.1 +293 -0
- data/vendor/local/share/man/man1/pdfdetach.1 +86 -0
- data/vendor/local/share/man/man1/pdffonts.1 +119 -0
- data/vendor/local/share/man/man1/pdfimages.1 +260 -0
- data/vendor/local/share/man/man1/pdfinfo.1 +152 -0
- data/vendor/local/share/man/man1/pdfseparate.1 +49 -0
- data/vendor/local/share/man/man1/pdftocairo.1 +295 -0
- data/vendor/local/share/man/man1/pdftohtml.1 +107 -0
- data/vendor/local/share/man/man1/pdftoppm.1 +170 -0
- data/vendor/local/share/man/man1/pdftops.1 +217 -0
- data/vendor/local/share/man/man1/pdftotext.1 +137 -0
- data/vendor/local/share/man/man1/pdfunite.1 +33 -0
- data/vendor/local/share/man/man1/rdjpgcom.1 +63 -0
- data/vendor/local/share/man/man1/sqlite3.1 +279 -0
- data/vendor/local/share/man/man1/wrjpgcom.1 +103 -0
- metadata +254 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 3580a50d2ededb175fd37f0732d944f76dee221e
|
4
|
+
data.tar.gz: c29e45ee2422dfb7aaf8092e6c465bc6c2259770
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 18dbb2daaad4b6b68158176f1c8a15be4ec5af66ed1cfc99716f03d3d6946d127b59eb0108d9efd5d1fbc788e272c56dfcc2934381f6ac2f9f22323bf90debee
|
7
|
+
data.tar.gz: 6bce9043c1b8ef1b29f998f6d879bacd0e306518083ea6f15d2e7d0482df8420488c92dec5c785e37479bbd7fd5eef06e561a019f0e8ae9a0cd19d6384c0cd73
|
data/README
ADDED
@@ -0,0 +1,35 @@
|
|
1
|
+
Ruby/Poppler
|
2
|
+
============
|
3
|
+
|
4
|
+
Ruby/Poppler is a Ruby binding of poppler-glib.
|
5
|
+
|
6
|
+
Requirements
|
7
|
+
------------
|
8
|
+
|
9
|
+
Ruby: http://www.ruby-lang.org/
|
10
|
+
poppler-glib [*]: http://poppler.freedesktop.org/
|
11
|
+
Ruby/GLib2: http://ruby-gnome2.sourceforge.net/
|
12
|
+
cairo/rcairo: http://cairographics.org/ (optional)
|
13
|
+
|
14
|
+
[*]: 0.12.0 or later is requried.
|
15
|
+
|
16
|
+
Install
|
17
|
+
-------
|
18
|
+
|
19
|
+
0. install ruby and poppler-glib.
|
20
|
+
1. ruby extconf.rb
|
21
|
+
2. make
|
22
|
+
3. su
|
23
|
+
4. make install
|
24
|
+
|
25
|
+
Copying
|
26
|
+
-------
|
27
|
+
Copyright (c) 2002-2013 Ruby-GNOME2 Project Team
|
28
|
+
|
29
|
+
This program is free software.
|
30
|
+
You can distribute/modify this program under the terms of
|
31
|
+
the GNU LESSER GENERAL PUBLIC LICENSE Version 2.1.
|
32
|
+
|
33
|
+
Project Website
|
34
|
+
---------------
|
35
|
+
http://ruby-gnome2.sourceforge.jp/
|
data/Rakefile
ADDED
@@ -0,0 +1,75 @@
|
|
1
|
+
# -*- ruby -*-
|
2
|
+
#
|
3
|
+
# Copyright (C) 2010-2013 Ruby-GNOME2 Project Team
|
4
|
+
#
|
5
|
+
# This library is free software; you can redistribute it and/or
|
6
|
+
# modify it under the terms of the GNU Lesser General Public
|
7
|
+
# License as published by the Free Software Foundation; either
|
8
|
+
# version 2.1 of the License, or (at your option) any later version.
|
9
|
+
#
|
10
|
+
# This library is distributed in the hope that it will be useful,
|
11
|
+
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
12
|
+
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
13
|
+
# Lesser General Public License for more details.
|
14
|
+
#
|
15
|
+
# You should have received a copy of the GNU Lesser General Public
|
16
|
+
# License along with this library; if not, write to the Free Software
|
17
|
+
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
18
|
+
|
19
|
+
$LOAD_PATH.unshift("./../glib2/lib")
|
20
|
+
require 'gnome2-raketask'
|
21
|
+
|
22
|
+
package_task = GNOME2::Rake::PackageTask.new do |package|
|
23
|
+
package.summary = "Ruby/Poppler is a Ruby binding of poppler-glib."
|
24
|
+
package.description = "Ruby/Poppler is a Ruby binding of poppler-glib."
|
25
|
+
package.dependency.gem.runtime = [["cairo", ">= 1.14.0"], "gdk_pixbuf2"]
|
26
|
+
package.windows.packages = []
|
27
|
+
package.windows.dependencies = []
|
28
|
+
package.windows.build_dependencies = [
|
29
|
+
"glib2",
|
30
|
+
"gobject-introspection",
|
31
|
+
"gdk_pixbuf2",
|
32
|
+
]
|
33
|
+
package.windows.gobject_introspection_dependencies = [
|
34
|
+
"gdk_pixbuf2",
|
35
|
+
]
|
36
|
+
package.external_packages = [
|
37
|
+
{
|
38
|
+
:name => "libjpeg",
|
39
|
+
:base_name => "jpeg-9a",
|
40
|
+
:archive_base_name => "jpegsrc.v9a.tar.gz",
|
41
|
+
:download_base_url => "http://www.ijg.org/files",
|
42
|
+
:label => "libjpeg",
|
43
|
+
:windows => {
|
44
|
+
:configure_args => [],
|
45
|
+
:built_file => "bin/libjpeg-9.dll",
|
46
|
+
},
|
47
|
+
},
|
48
|
+
{
|
49
|
+
:name => "sqlite-autoconf",
|
50
|
+
:download_base_url => "http://www.sqlite.org/2014",
|
51
|
+
:label => "SQLite",
|
52
|
+
:version => "3080600",
|
53
|
+
:compression_method => "gz",
|
54
|
+
:windows => {
|
55
|
+
:configure_args => [],
|
56
|
+
:built_file => "bin/libsqlite3-0.dll",
|
57
|
+
},
|
58
|
+
},
|
59
|
+
{
|
60
|
+
:name => "poppler",
|
61
|
+
:download_base_url => "http://poppler.freedesktop.org",
|
62
|
+
:label => "Poppler",
|
63
|
+
:version => "0.29.0",
|
64
|
+
:compression_method => "xz",
|
65
|
+
:windows => {
|
66
|
+
:configure_args => [
|
67
|
+
"--enable-introspection",
|
68
|
+
],
|
69
|
+
:built_file => "bin/libpoppler-glib-8.dll",
|
70
|
+
},
|
71
|
+
},
|
72
|
+
]
|
73
|
+
end
|
74
|
+
package_task.define
|
75
|
+
|
data/ext/poppler/depend
ADDED
@@ -0,0 +1,70 @@
|
|
1
|
+
=begin
|
2
|
+
extconf.rb for Ruby/Poppler extention library
|
3
|
+
=end
|
4
|
+
|
5
|
+
require 'pathname'
|
6
|
+
|
7
|
+
base_dir = Pathname(__FILE__).dirname.parent.parent.expand_path
|
8
|
+
top_dir = base_dir.parent
|
9
|
+
top_build_dir = Pathname(".").parent.parent.parent.expand_path
|
10
|
+
|
11
|
+
mkmf_gnome2_dir = top_dir + "glib2" + 'lib'
|
12
|
+
version_suffix = ""
|
13
|
+
unless mkmf_gnome2_dir.exist?
|
14
|
+
if /(-\d+\.\d+\.\d+)(?:\.\d+)?\z/ =~ base_dir.basename.to_s
|
15
|
+
version_suffix = $1
|
16
|
+
mkmf_gnome2_dir = top_dir + "glib2#{version_suffix}" + 'lib'
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
$LOAD_PATH.unshift(mkmf_gnome2_dir.to_s)
|
21
|
+
|
22
|
+
module_name = "poppler"
|
23
|
+
package_id = "poppler-glib"
|
24
|
+
|
25
|
+
begin
|
26
|
+
require 'mkmf-gnome2'
|
27
|
+
rescue LoadError
|
28
|
+
require 'rubygems'
|
29
|
+
gem 'glib2'
|
30
|
+
require 'mkmf-gnome2'
|
31
|
+
end
|
32
|
+
|
33
|
+
["glib2", "atk", "gdk_pixbuf2"].each do |package|
|
34
|
+
directory = "#{package}#{version_suffix}"
|
35
|
+
build_dir = "#{directory}/tmp/#{RUBY_PLATFORM}/#{package}/#{RUBY_VERSION}"
|
36
|
+
add_depend_package(package, "#{directory}/ext/#{package}",
|
37
|
+
top_dir.to_s,
|
38
|
+
:top_build_dir => top_build_dir.to_s,
|
39
|
+
:target_build_dir => build_dir)
|
40
|
+
end
|
41
|
+
|
42
|
+
unless check_cairo(:top_dir => top_dir)
|
43
|
+
exit(false)
|
44
|
+
end
|
45
|
+
|
46
|
+
setup_windows(module_name, base_dir)
|
47
|
+
|
48
|
+
unless required_pkg_config_package([package_id, 0, 12, 0],
|
49
|
+
:debian => "libpoppler-glib-dev",
|
50
|
+
:redhat => "poppler-glib-devel",
|
51
|
+
:homebrew => "poppler",
|
52
|
+
:macports => "poppler")
|
53
|
+
exit(false)
|
54
|
+
end
|
55
|
+
|
56
|
+
unless have_macro("POPPLER_MAJOR_VERSION", ["poppler.h"])
|
57
|
+
make_version_header("POPPLER", package_id, ".")
|
58
|
+
end
|
59
|
+
|
60
|
+
create_pkg_config_file("Ruby/Poppler", package_id)
|
61
|
+
$defs << " -DRUBY_POPPLER_COMPILATION"
|
62
|
+
create_makefile(module_name)
|
63
|
+
|
64
|
+
pkg_config_dir = with_config("pkg-config-dir")
|
65
|
+
if pkg_config_dir.is_a?(String)
|
66
|
+
File.open("Makefile", "ab") do |makefile|
|
67
|
+
makefile.puts
|
68
|
+
makefile.puts("pkgconfigdir=#{pkg_config_dir}")
|
69
|
+
end
|
70
|
+
end
|
@@ -0,0 +1,372 @@
|
|
1
|
+
/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */
|
2
|
+
/*
|
3
|
+
* Copyright (C) 2006-2013 Ruby-GNOME2 Project Team
|
4
|
+
*
|
5
|
+
* This library is free software; you can redistribute it and/or
|
6
|
+
* modify it under the terms of the GNU Lesser General Public
|
7
|
+
* License as published by the Free Software Foundation; either
|
8
|
+
* version 2.1 of the License, or (at your option) any later version.
|
9
|
+
*
|
10
|
+
* This library is distributed in the hope that it will be useful,
|
11
|
+
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
12
|
+
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
13
|
+
* Lesser General Public License for more details.
|
14
|
+
*
|
15
|
+
* You should have received a copy of the GNU Lesser General Public
|
16
|
+
* License along with this library; if not, write to the Free Software
|
17
|
+
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
18
|
+
* MA 02110-1301 USA
|
19
|
+
*/
|
20
|
+
|
21
|
+
#include "rbpoppler-private.h"
|
22
|
+
|
23
|
+
/* PopplerAction */
|
24
|
+
static VALUE rb_cPopplerAction;
|
25
|
+
static VALUE rb_cPopplerActionDest;
|
26
|
+
static VALUE rb_cPopplerActionAny;
|
27
|
+
static VALUE rb_cPopplerActionUnknown;
|
28
|
+
static VALUE rb_cPopplerActionGotoDest;
|
29
|
+
static VALUE rb_cPopplerActionGotoRemote;
|
30
|
+
static VALUE rb_cPopplerActionLaunch;
|
31
|
+
static VALUE rb_cPopplerActionURI;
|
32
|
+
static VALUE rb_cPopplerActionNamed;
|
33
|
+
static VALUE rb_cPopplerActionMovie;
|
34
|
+
static VALUE rb_cPopplerActionRendition;
|
35
|
+
static VALUE rb_cPopplerActionOCGState;
|
36
|
+
static VALUE rb_cPopplerActionJavaScript;
|
37
|
+
|
38
|
+
#define DEFINE_ACTION_TYPE(type_lower_case, type_upper_case) \
|
39
|
+
static GType \
|
40
|
+
rb_poppler_action_ ## type_lower_case ## _get_type(void) \
|
41
|
+
{ \
|
42
|
+
static GType type = 0; \
|
43
|
+
if (type == 0) { \
|
44
|
+
type = g_boxed_type_register_static("PopplerAction" # type_upper_case, \
|
45
|
+
(GBoxedCopyFunc)poppler_action_copy, \
|
46
|
+
(GBoxedFreeFunc)poppler_action_free); \
|
47
|
+
} \
|
48
|
+
return type; \
|
49
|
+
}
|
50
|
+
|
51
|
+
DEFINE_ACTION_TYPE(any, Any)
|
52
|
+
DEFINE_ACTION_TYPE(unknown, Unknown)
|
53
|
+
DEFINE_ACTION_TYPE(goto_dest, GotoDest)
|
54
|
+
DEFINE_ACTION_TYPE(goto_remote, GotoRemote)
|
55
|
+
DEFINE_ACTION_TYPE(launch, Launch)
|
56
|
+
DEFINE_ACTION_TYPE(uri, URI)
|
57
|
+
DEFINE_ACTION_TYPE(named, Named)
|
58
|
+
DEFINE_ACTION_TYPE(movie, Movie)
|
59
|
+
DEFINE_ACTION_TYPE(rendition, Rendition)
|
60
|
+
DEFINE_ACTION_TYPE(ocg_state, OCGState)
|
61
|
+
DEFINE_ACTION_TYPE(javascript, JavaScript)
|
62
|
+
|
63
|
+
#define POPPLER_ACTION_TYPE_ANY (rb_poppler_action_any_get_type())
|
64
|
+
#define POPPLER_ACTION_TYPE_UNKNOWN (rb_poppler_action_unknown_get_type())
|
65
|
+
#define POPPLER_ACTION_TYPE_GOTO_DEST (rb_poppler_action_goto_dest_get_type())
|
66
|
+
#define POPPLER_ACTION_TYPE_GOTO_REMOTE (rb_poppler_action_goto_remote_get_type())
|
67
|
+
#define POPPLER_ACTION_TYPE_LAUNCH (rb_poppler_action_launch_get_type())
|
68
|
+
#define POPPLER_ACTION_TYPE_URI (rb_poppler_action_uri_get_type())
|
69
|
+
#define POPPLER_ACTION_TYPE_NAMED (rb_poppler_action_named_get_type())
|
70
|
+
#define POPPLER_ACTION_TYPE_MOVIE (rb_poppler_action_movie_get_type())
|
71
|
+
#define POPPLER_ACTION_TYPE_RENDITION (rb_poppler_action_rendition_get_type())
|
72
|
+
#define POPPLER_ACTION_TYPE_OCG_STATE (rb_poppler_action_ocg_state_get_type())
|
73
|
+
#define POPPLER_ACTION_TYPE_JAVASCRIPT (rb_poppler_action_javascript_get_type())
|
74
|
+
|
75
|
+
static GType
|
76
|
+
rb_poppler_action_type_to_gtype(PopplerActionType action_type)
|
77
|
+
{
|
78
|
+
GType gtype = POPPLER_ACTION_TYPE_ANY;
|
79
|
+
|
80
|
+
switch (action_type) {
|
81
|
+
case POPPLER_ACTION_NONE:
|
82
|
+
break;
|
83
|
+
case POPPLER_ACTION_UNKNOWN:
|
84
|
+
gtype = POPPLER_ACTION_TYPE_UNKNOWN;
|
85
|
+
break;
|
86
|
+
case POPPLER_ACTION_GOTO_DEST:
|
87
|
+
gtype = POPPLER_ACTION_TYPE_GOTO_DEST;
|
88
|
+
break;
|
89
|
+
case POPPLER_ACTION_GOTO_REMOTE:
|
90
|
+
gtype = POPPLER_ACTION_TYPE_GOTO_REMOTE;
|
91
|
+
break;
|
92
|
+
case POPPLER_ACTION_LAUNCH:
|
93
|
+
gtype = POPPLER_ACTION_TYPE_LAUNCH;
|
94
|
+
break;
|
95
|
+
case POPPLER_ACTION_URI:
|
96
|
+
gtype = POPPLER_ACTION_TYPE_URI;
|
97
|
+
break;
|
98
|
+
case POPPLER_ACTION_NAMED:
|
99
|
+
gtype = POPPLER_ACTION_TYPE_NAMED;
|
100
|
+
break;
|
101
|
+
#if POPPLER_CHECK_VERSION(0, 14, 0)
|
102
|
+
case POPPLER_ACTION_MOVIE:
|
103
|
+
gtype = POPPLER_ACTION_TYPE_MOVIE;
|
104
|
+
break;
|
105
|
+
case POPPLER_ACTION_RENDITION:
|
106
|
+
gtype = POPPLER_ACTION_TYPE_RENDITION;
|
107
|
+
break;
|
108
|
+
case POPPLER_ACTION_OCG_STATE:
|
109
|
+
gtype = POPPLER_ACTION_TYPE_OCG_STATE;
|
110
|
+
break;
|
111
|
+
#endif
|
112
|
+
#if POPPLER_CHECK_VERSION(0, 18, 0)
|
113
|
+
case POPPLER_ACTION_JAVASCRIPT:
|
114
|
+
gtype = POPPLER_ACTION_TYPE_JAVASCRIPT;
|
115
|
+
break;
|
116
|
+
#endif
|
117
|
+
default:
|
118
|
+
break;
|
119
|
+
}
|
120
|
+
|
121
|
+
return gtype;
|
122
|
+
}
|
123
|
+
|
124
|
+
static GType
|
125
|
+
rb_poppler_action_to_gtype(VALUE action)
|
126
|
+
{
|
127
|
+
VALUE klass;
|
128
|
+
GType type = POPPLER_ACTION_TYPE_ANY;
|
129
|
+
|
130
|
+
klass = rb_obj_class(action);
|
131
|
+
if (klass == rb_cPopplerActionAny) {
|
132
|
+
type = POPPLER_ACTION_TYPE_ANY;
|
133
|
+
} else if (klass == rb_cPopplerActionUnknown) {
|
134
|
+
type = POPPLER_ACTION_TYPE_UNKNOWN;
|
135
|
+
} else if (klass == rb_cPopplerActionGotoDest) {
|
136
|
+
type = POPPLER_ACTION_TYPE_GOTO_DEST;
|
137
|
+
} else if (klass == rb_cPopplerActionGotoRemote) {
|
138
|
+
type = POPPLER_ACTION_TYPE_GOTO_REMOTE;
|
139
|
+
} else if (klass == rb_cPopplerActionLaunch) {
|
140
|
+
type = POPPLER_ACTION_TYPE_LAUNCH;
|
141
|
+
} else if (klass == rb_cPopplerActionURI) {
|
142
|
+
type = POPPLER_ACTION_TYPE_URI;
|
143
|
+
} else if (klass == rb_cPopplerActionNamed) {
|
144
|
+
type = POPPLER_ACTION_TYPE_NAMED;
|
145
|
+
#if POPPLER_CHECK_VERSION(0, 14, 0)
|
146
|
+
} else if (klass == rb_cPopplerActionMovie) {
|
147
|
+
type = POPPLER_ACTION_TYPE_MOVIE;
|
148
|
+
} else if (klass == rb_cPopplerActionRendition) {
|
149
|
+
type = POPPLER_ACTION_TYPE_RENDITION;
|
150
|
+
} else if (klass == rb_cPopplerActionOCGState) {
|
151
|
+
type = POPPLER_ACTION_TYPE_OCG_STATE;
|
152
|
+
#endif
|
153
|
+
#if POPPLER_CHECK_VERSION(0, 18, 0)
|
154
|
+
} else if (klass == rb_cPopplerActionJavaScript) {
|
155
|
+
type = POPPLER_ACTION_TYPE_JAVASCRIPT;
|
156
|
+
#endif
|
157
|
+
} else {
|
158
|
+
rb_raise(rb_eArgError, "Not action object: %s", RBG_INSPECT(action));
|
159
|
+
}
|
160
|
+
|
161
|
+
return type;
|
162
|
+
}
|
163
|
+
|
164
|
+
VALUE
|
165
|
+
rb_poppler_ruby_object_from_action(PopplerAction *action)
|
166
|
+
{
|
167
|
+
return BOXED2RVAL(action, rb_poppler_action_type_to_gtype(action->any.type));
|
168
|
+
}
|
169
|
+
|
170
|
+
PopplerAction *
|
171
|
+
rb_poppler_action_from_ruby_object(VALUE action)
|
172
|
+
{
|
173
|
+
return RVAL2BOXED(action, rb_poppler_action_to_gtype(action));
|
174
|
+
}
|
175
|
+
|
176
|
+
#define ACTION_ATTR_STR(type, name) \
|
177
|
+
static VALUE \
|
178
|
+
action_ ## type ## _ ## name (VALUE self) \
|
179
|
+
{ \
|
180
|
+
return CSTR2RVAL(RVAL2POPPLERACTION(self)->type.name); \
|
181
|
+
}
|
182
|
+
|
183
|
+
#define ACTION_ATTR_DEST(type, name) \
|
184
|
+
static VALUE \
|
185
|
+
action_ ## type ## _ ## name (VALUE self) \
|
186
|
+
{ \
|
187
|
+
return POPPLERDEST2RVAL(RVAL2POPPLERACTION(self)->type.name); \
|
188
|
+
}
|
189
|
+
|
190
|
+
#define DEFINE_ACCESSOR(prefix, target, name) \
|
191
|
+
rbg_define_method(target, G_STRINGIFY(name), prefix ## _ ## name, 0);
|
192
|
+
|
193
|
+
#define DEFINE_ACTION_ACCESSOR(target, type, name) \
|
194
|
+
DEFINE_ACCESSOR(action_ ## type, target, name)
|
195
|
+
|
196
|
+
/* PopplerActionAny */
|
197
|
+
static VALUE
|
198
|
+
action_any_type(VALUE self)
|
199
|
+
{
|
200
|
+
return POPPLERACTIONTYPE2RVAL(RVAL2POPPLERACTION(self)->type);
|
201
|
+
}
|
202
|
+
ACTION_ATTR_STR(any, title);
|
203
|
+
|
204
|
+
/* PopplerActionGotoDest */
|
205
|
+
ACTION_ATTR_DEST(goto_dest, dest);
|
206
|
+
|
207
|
+
/* PopplerActionGotoRemote */
|
208
|
+
ACTION_ATTR_STR(goto_remote, file_name);
|
209
|
+
ACTION_ATTR_DEST(goto_remote, dest);
|
210
|
+
|
211
|
+
/* PopplerActionLaunch */
|
212
|
+
ACTION_ATTR_STR(launch, file_name);
|
213
|
+
ACTION_ATTR_STR(launch, params);
|
214
|
+
|
215
|
+
/* PopplerActionURI */
|
216
|
+
ACTION_ATTR_STR(uri, uri);
|
217
|
+
|
218
|
+
/* PopplerActionNamed */
|
219
|
+
ACTION_ATTR_STR(named, named_dest);
|
220
|
+
|
221
|
+
#if POPPLER_CHECK_VERSION(0, 14, 0)
|
222
|
+
/* PopplerActionMovie */
|
223
|
+
ACTION_ATTR_DEST(movie, movie);
|
224
|
+
|
225
|
+
/* PopplerActionRendition */
|
226
|
+
ACTION_ATTR_DEST(rendition, media);
|
227
|
+
|
228
|
+
/* PopplerActionOCGState */
|
229
|
+
ACTION_ATTR_DEST(ocg_state, state_list);
|
230
|
+
#endif
|
231
|
+
|
232
|
+
#if POPPLER_CHECK_VERSION(0, 18, 0)
|
233
|
+
/* PopplerActionJavascript */
|
234
|
+
ACTION_ATTR_STR(javascript, script);
|
235
|
+
#endif
|
236
|
+
|
237
|
+
/* PopplerDest */
|
238
|
+
#ifdef RB_POPPLER_TYPE_DEST_NOT_DEFINED
|
239
|
+
GType
|
240
|
+
poppler_dest_get_type (void)
|
241
|
+
{
|
242
|
+
static GType our_type = 0;
|
243
|
+
|
244
|
+
if (our_type == 0)
|
245
|
+
our_type = g_boxed_type_register_static("PopplerDest",
|
246
|
+
(GBoxedCopyFunc)poppler_dest_copy,
|
247
|
+
(GBoxedFreeFunc)poppler_dest_free);
|
248
|
+
|
249
|
+
return our_type;
|
250
|
+
}
|
251
|
+
#endif
|
252
|
+
|
253
|
+
static VALUE
|
254
|
+
dest_get_type(VALUE self)
|
255
|
+
{
|
256
|
+
return POPPLERDESTTYPE2RVAL(RVAL2POPPLERDEST(self)->type);
|
257
|
+
}
|
258
|
+
|
259
|
+
#define DEST_ATTR_INT(name) \
|
260
|
+
static VALUE \
|
261
|
+
dest_ ## name (VALUE self) \
|
262
|
+
{ \
|
263
|
+
return INT2NUM(RVAL2POPPLERDEST(self)->name); \
|
264
|
+
}
|
265
|
+
|
266
|
+
#define DEST_ATTR_UINT(name) \
|
267
|
+
static VALUE \
|
268
|
+
dest_ ## name (VALUE self) \
|
269
|
+
{ \
|
270
|
+
return UINT2NUM(RVAL2POPPLERDEST(self)->name); \
|
271
|
+
}
|
272
|
+
|
273
|
+
#define DEST_ATTR_DOUBLE(name) \
|
274
|
+
static VALUE \
|
275
|
+
dest_ ## name (VALUE self) \
|
276
|
+
{ \
|
277
|
+
return rb_float_new(RVAL2POPPLERDEST(self)->name); \
|
278
|
+
}
|
279
|
+
|
280
|
+
#define DEST_ATTR_STR(name) \
|
281
|
+
static VALUE \
|
282
|
+
dest_ ## name (VALUE self) \
|
283
|
+
{ \
|
284
|
+
return CSTR2RVAL(RVAL2POPPLERDEST(self)->name); \
|
285
|
+
}
|
286
|
+
|
287
|
+
#define DEFINE_DEST_ACCESSOR(target, name) \
|
288
|
+
DEFINE_ACCESSOR(dest, target, name)
|
289
|
+
|
290
|
+
|
291
|
+
DEST_ATTR_INT(page_num)
|
292
|
+
DEST_ATTR_DOUBLE(left)
|
293
|
+
DEST_ATTR_DOUBLE(bottom)
|
294
|
+
DEST_ATTR_DOUBLE(right)
|
295
|
+
DEST_ATTR_DOUBLE(top)
|
296
|
+
DEST_ATTR_DOUBLE(zoom)
|
297
|
+
DEST_ATTR_STR(named_dest)
|
298
|
+
DEST_ATTR_UINT(change_left)
|
299
|
+
DEST_ATTR_UINT(change_top)
|
300
|
+
DEST_ATTR_UINT(change_zoom)
|
301
|
+
|
302
|
+
void
|
303
|
+
Init_poppler_action(VALUE mPoppler)
|
304
|
+
{
|
305
|
+
rb_cPopplerAction = G_DEF_CLASS(POPPLER_TYPE_ACTION, "Action", mPoppler);
|
306
|
+
|
307
|
+
rb_cPopplerActionAny = rb_define_class_under(mPoppler, "ActionAny", rb_cPopplerAction);
|
308
|
+
rbg_define_method(rb_cPopplerActionAny, "type", action_any_type, 0);
|
309
|
+
DEFINE_ACTION_ACCESSOR(rb_cPopplerActionAny, any, title);
|
310
|
+
|
311
|
+
rb_cPopplerActionUnknown = rb_define_class_under(mPoppler, "ActionUnknown",
|
312
|
+
rb_cPopplerAction);
|
313
|
+
|
314
|
+
rb_cPopplerActionGotoDest = rb_define_class_under(mPoppler, "ActionGotoDest",
|
315
|
+
rb_cPopplerActionAny);
|
316
|
+
DEFINE_ACTION_ACCESSOR(rb_cPopplerActionGotoDest, goto_dest, dest);
|
317
|
+
|
318
|
+
rb_cPopplerActionGotoRemote = rb_define_class_under(mPoppler, "ActionGotoRemote",
|
319
|
+
rb_cPopplerActionAny);
|
320
|
+
DEFINE_ACTION_ACCESSOR(rb_cPopplerActionGotoRemote, goto_remote, file_name);
|
321
|
+
DEFINE_ACTION_ACCESSOR(rb_cPopplerActionGotoRemote, goto_remote, dest);
|
322
|
+
|
323
|
+
rb_cPopplerActionLaunch = rb_define_class_under(mPoppler, "ActionLaunch",
|
324
|
+
rb_cPopplerActionAny);
|
325
|
+
DEFINE_ACTION_ACCESSOR(rb_cPopplerActionLaunch, launch, file_name);
|
326
|
+
DEFINE_ACTION_ACCESSOR(rb_cPopplerActionLaunch, launch, params);
|
327
|
+
|
328
|
+
rb_cPopplerActionURI = rb_define_class_under(mPoppler, "ActionURI", rb_cPopplerActionAny);
|
329
|
+
DEFINE_ACTION_ACCESSOR(rb_cPopplerActionURI, uri, uri);
|
330
|
+
|
331
|
+
rb_cPopplerActionNamed = rb_define_class_under(mPoppler, "ActionNamed",
|
332
|
+
rb_cPopplerActionAny);
|
333
|
+
DEFINE_ACTION_ACCESSOR(rb_cPopplerActionNamed, named, named_dest);
|
334
|
+
|
335
|
+
#if POPPLER_CHECK_VERSION(0, 14, 0)
|
336
|
+
rb_cPopplerActionMovie = rb_define_class_under(mPoppler, "ActionMovie",
|
337
|
+
rb_cPopplerActionAny);
|
338
|
+
DEFINE_ACTION_ACCESSOR(rb_cPopplerActionMovie, movie, movie);
|
339
|
+
|
340
|
+
rb_cPopplerActionRendition = rb_define_class_under(mPoppler, "ActionRendtion",
|
341
|
+
rb_cPopplerActionAny);
|
342
|
+
DEFINE_ACTION_ACCESSOR(rb_cPopplerActionRendition, rendition, media);
|
343
|
+
|
344
|
+
rb_cPopplerActionOCGState = rb_define_class_under(mPoppler, "ActionOCGState",
|
345
|
+
rb_cPopplerActionAny);
|
346
|
+
DEFINE_ACTION_ACCESSOR(rb_cPopplerActionOCGState, ocg_state, state_list);
|
347
|
+
#endif
|
348
|
+
|
349
|
+
#if POPPLER_CHECK_VERSION(0, 18, 0)
|
350
|
+
rb_cPopplerActionJavaScript =
|
351
|
+
rb_define_class_under(mPoppler, "ActionJavaScript",
|
352
|
+
rb_cPopplerActionAny);
|
353
|
+
DEFINE_ACTION_ACCESSOR(rb_cPopplerActionJavaScript, javascript, script);
|
354
|
+
#endif
|
355
|
+
|
356
|
+
G_DEF_CLASS(POPPLER_TYPE_ACTION_TYPE, "ActionType", mPoppler);
|
357
|
+
G_DEF_CLASS(POPPLER_TYPE_DEST_TYPE, "DestType", mPoppler);
|
358
|
+
|
359
|
+
rb_cPopplerActionDest = G_DEF_CLASS(POPPLER_TYPE_DEST, "Dest", mPoppler);
|
360
|
+
|
361
|
+
rbg_define_method(rb_cPopplerActionDest, "type", dest_get_type, 0);
|
362
|
+
DEFINE_DEST_ACCESSOR(rb_cPopplerActionDest, page_num);
|
363
|
+
DEFINE_DEST_ACCESSOR(rb_cPopplerActionDest, left);
|
364
|
+
DEFINE_DEST_ACCESSOR(rb_cPopplerActionDest, bottom);
|
365
|
+
DEFINE_DEST_ACCESSOR(rb_cPopplerActionDest, right);
|
366
|
+
DEFINE_DEST_ACCESSOR(rb_cPopplerActionDest, top);
|
367
|
+
DEFINE_DEST_ACCESSOR(rb_cPopplerActionDest, zoom);
|
368
|
+
DEFINE_DEST_ACCESSOR(rb_cPopplerActionDest, named_dest);
|
369
|
+
DEFINE_DEST_ACCESSOR(rb_cPopplerActionDest, change_left);
|
370
|
+
DEFINE_DEST_ACCESSOR(rb_cPopplerActionDest, change_top);
|
371
|
+
DEFINE_DEST_ACCESSOR(rb_cPopplerActionDest, change_zoom);
|
372
|
+
}
|