pax_global_header00006660000000000000000000000064146026666550014532gustar00rootroot0000000000000052 comment=4ce86d875e7ff4b1ad9a3eb1cecb12917583196c ruby-gnome-ruby-gnome-c1ffe87/000077500000000000000000000000001460266665500164055ustar00rootroot00000000000000ruby-gnome-ruby-gnome-c1ffe87/.dir-locals.el000066400000000000000000000004321460266665500210350ustar00rootroot00000000000000((c-mode . ((c-file-style . "ruby") (indent-tabs-mode . nil) (show-trailing-whitespace . t))) (ruby-mode . ((show-trailing-whitespace . t))) (sh-mode . ((indent-tabs-mode . nil) (sh-indentation . 2) (sh-basic-offset . 2)))) ruby-gnome-ruby-gnome-c1ffe87/.dockerignore000066400000000000000000000000371460266665500210610ustar00rootroot00000000000000* !/Gemfile !/environment.yml ruby-gnome-ruby-gnome-c1ffe87/.env000066400000000000000000000014561460266665500172040ustar00rootroot00000000000000# Copyright (C) 2022 Ruby-GNOME Project Team # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser 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 GITHUB_REPOSITORY=ruby-gnome/ruby-gnome ruby-gnome-ruby-gnome-c1ffe87/.github/000077500000000000000000000000001460266665500177455ustar00rootroot00000000000000ruby-gnome-ruby-gnome-c1ffe87/.github/dependabot.yml000066400000000000000000000015771460266665500226070ustar00rootroot00000000000000# Copyright (C) 2023 Ruby-GNOME Project Team # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser 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 version: 2 updates: - package-ecosystem: "github-actions" directory: "/" schedule: interval: "weekly" ruby-gnome-ruby-gnome-c1ffe87/.github/workflows/000077500000000000000000000000001460266665500220025ustar00rootroot00000000000000ruby-gnome-ruby-gnome-c1ffe87/.github/workflows/doc.yml000066400000000000000000000036761460266665500233060ustar00rootroot00000000000000name: Document on: push: branches: - master tags: - '*' jobs: build: name: Build runs-on: ubuntu-22.04 timeout-minutes: 10 steps: - uses: actions/checkout@v4 - name: Update APT repositories run: | sudo apt update -y - uses: ruby/setup-ruby@v1 with: ruby-version: ruby bundler-cache: true - name: Install requirements run: | bundle exec ruby extconf.rb make -j$(nproc) make install - name: Generate document run: | bundle exec yard doc \ --load yard-gobject-introspection.rb \ --output-dir yard_docs \ glib2/lib/glib2.rb \ gio2/lib/gio2.rb \ gdk_pixbuf2/lib/gdk_pixbuf2.rb \ pango/lib/pango.rb \ atk/lib/atk.rb \ gdk3/lib/gdk3.rb \ gtk3/lib/gtk3.rb \ gdk4/lib/gdk4.rb \ gtk4/lib/gtk4.rb find yard_docs \ -name '*.html' \ -exec sed -i -e 's/Generated on .* by/Generated by/g' '{}' ';' case ${GITHUB_REF} in refs/tags/*) version=${GITHUB_REF##refs/tags} ;; *) version=dev ;; esac mkdir -p public/doc rm -rf public/doc/${version} mv yard_docs public/doc/${version} if [ "${version}" != "dev" ]; then rm -rf public/doc/latest cp -a public/doc/${version} public/doc/latest fi - name: Publish Documentation on GitHub Pages uses: peaceiris/actions-gh-pages@v3 with: github_token: ${{ secrets.GITHUB_TOKEN }} publish_dir: ./public keep_files: true # We can use this with v4 # force_orphan: true user_name: 'github-actions[bot]' user_email: 'github-actions[bot]@users.noreply.github.com' ruby-gnome-ruby-gnome-c1ffe87/.github/workflows/linux.yml000066400000000000000000000043751460266665500236750ustar00rootroot00000000000000name: Linux on: - push - pull_request jobs: test: name: Test strategy: fail-fast: false matrix: service: - almalinux-8 - almalinux-9 - apache-arrow - arch-linux - centos-7 - conda # - fedora-arm32v7-rawhide - fedora-rawhide - ruby-3.0 - ruby-3.1 - ruby-3.2 - ruby-3.3 - ubuntu-20.04 - ubuntu-22.04 include: - service: apache-arrow timeout-minutes: 60 runs-on: ubuntu-latest timeout-minutes: ${{ matrix.timeout-minutes || 15 }} steps: - uses: actions/checkout@v4 - uses: docker/login-action@v3 if: | github.event_name == 'push' with: registry: ghcr.io username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - name: Workaround for Docker # https://github.com/actions/virtual-environments/issues/5490#issuecomment-1118328567 run: | sudo rm /etc/docker/daemon.json sudo systemctl restart docker - name: Pull Docker images run: | docker-compose pull --ignore-pull-failures ${{ matrix.service }}-base || : docker-compose pull --ignore-pull-failures ${{ matrix.service }} || : - name: Build Docker image run: | docker-compose build ${{ matrix.service }} - name: Push Docker images if: | github.event_name == 'push' run: | docker-compose push --ignore-push-failures ${{ matrix.service }} || : - name: Cache ccache if: | matrix.service == 'apache-arrow' uses: actions/cache@v4 with: path: .ccache key: arrow-ccache-docker-${{ matrix.service }}-${{ github.sha }} restore-keys: arrow-ccache-docker-${{ matrix.service }}- - name: Adjust permission for cache if: | matrix.service == 'apache-arrow' run: | mkdir -p .ccache chmod -R a+rwx .ccache - name: Register problem matchers run: | echo ::add-matcher::dockerfiles/problem-matchers.json - name: Run run: | docker-compose run --rm ${{ matrix.service }} ruby-gnome-ruby-gnome-c1ffe87/.github/workflows/mac-os.yml000066400000000000000000000074241460266665500237130ustar00rootroot00000000000000name: macOS on: - push - pull_request jobs: test: name: Test runs-on: macOS-latest timeout-minutes: 30 steps: - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 with: ruby-version: ruby - name: Install dependencies run: | brew install pkg-config bundle install - name: Build run: | bundle exec rake build # TODO: Fix stuck # - name: Test # run: | # bundle exec rake # Licensed to the Apache Software Foundation (ASF) under one # or more contributor license agreements. See the NOTICE file # distributed with this work for additional information # regarding copyright ownership. The ASF licenses this file # to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance # with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, # software distributed under the License is distributed on an # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY # KIND, either express or implied. See the License for the # specific language governing permissions and limitations # under the License. apache-arrow: runs-on: macOS-latest timeout-minutes: 60 env: ARROW_BUILD_STATIC: OFF ARROW_BUILD_TESTS: OFF ARROW_BUILD_UTILITIES: OFF ARROW_DATASET: ON ARROW_FLIGHT: ON ARROW_FLIGHT_SQL: ON ARROW_GANDIVA: ON ARROW_GCS: ON ARROW_GLIB_GTK_DOC: true ARROW_GLIB_WERROR: true ARROW_HOME: /usr/local ARROW_JEMALLOC: OFF ARROW_ORC: OFF ARROW_PARQUET: ON ARROW_WITH_BROTLI: ON ARROW_WITH_LZ4: ON ARROW_WITH_SNAPPY: ON ARROW_WITH_ZLIB: ON ARROW_WITH_ZSTD: ON XML_CATALOG_FILES: /usr/local/etc/xml/catalog steps: - uses: actions/checkout@v4 - name: Build run: | brew install pkg-config for package in glib2 gobject-introspection gio2; do pushd ${package} rake gem gem install pkg/*.gem popd done - uses: actions/checkout@v4 with: repository: apache/arrow path: arrow fetch-depth: 0 submodules: recursive - name: Install Homebrew Dependencies shell: bash run: | brew bundle --file=arrow/cpp/Brewfile brew bundle --file=arrow/c_glib/Brewfile - name: Install Ruby Dependencies run: | export MAKEFLAGS="-j$(sysctl -n hw.ncpu)" bundle install --gemfile arrow/c_glib/Gemfile bundle install --gemfile arrow/ruby/Gemfile for ruby_package_gemfile in arrow/ruby/*/Gemfile; do \ bundle install --gemfile ${ruby_package_gemfile} done - name: Setup ccache run: | arrow/ci/scripts/ccache_setup.sh - name: ccache info run: | echo "CACHE_DIR=$(ccache --get-config cache_dir)" >> $GITHUB_ENV - name: Cache ccache uses: actions/cache@v4 with: path: ${{ env.CACHE_DIR }} key: arrow-ccache-macos-${{ hashFiles('arrow/cpp/**') }} restore-keys: arrow-ccache-macos- - name: Build C++ run: | arrow/ci/scripts/cpp_build.sh $(pwd)/arrow $(pwd)/arrow/build - name: Build GLib run: | arrow/ci/scripts/c_glib_build.sh $(pwd)/arrow $(pwd)/arrow/build - name: Test GLib shell: bash run: | arrow/ci/scripts/c_glib_test.sh $(pwd)/arrow $(pwd)/arrow/build - name: Test Ruby shell: bash run: | arrow/ci/scripts/ruby_test.sh $(pwd)/arrow $(pwd)/arrow/build ruby-gnome-ruby-gnome-c1ffe87/.github/workflows/release.yml000066400000000000000000000012741460266665500241510ustar00rootroot00000000000000name: Release on: push: tags: - "*" jobs: github: name: GitHub runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Release run: | ruby \ -e 'print("## "); puts(ARGF.read.split(/^## /)[1])' \ NEWS.md > release-note.md title="$(head -n 1 release-note.md | sed -e 's/^## //')" tail -n +2 release-note.md > release-note-without-version.md gh release create \ ${GITHUB_REF_NAME} \ --discussion-category Releases \ --notes-file release-note-without-version.md \ --title "${title}" env: GH_TOKEN: ${{ github.token }} ruby-gnome-ruby-gnome-c1ffe87/.github/workflows/windows.yml000066400000000000000000000030411460266665500242150ustar00rootroot00000000000000name: Windows on: - push - pull_request jobs: test: name: Test strategy: fail-fast: false matrix: ruby-version: - "3.1" - "3.2" - "3.3" runs-on: windows-latest timeout-minutes: 45 steps: - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 with: ruby-version: ${{ matrix.ruby-version }} # We can't use "bundler-cache" because we want to install MSYS2 # packages such as mingw-w64-ucrt-x86_64-pkg-config # automatically by installing gems such as rcairo. # bundler-cache: true - name: Install dependencies run: | bundle install - name: Build run: | bundle exec ruby -rdevkit -S rake build - name: "Test: glib2" run: | cd glib2 bundle exec ruby -rdevkit test/run-test.rb - name: "Test: gobject-introspection" run: | cd gobject-introspection bundle exec ruby -rdevkit test/run-test.rb gem: name: Gem strategy: fail-fast: false matrix: ruby-version: - "3.1" - "3.2" - "3.3" runs-on: windows-latest timeout-minutes: 10 env: PACKAGES: "glib2,gobject-introspection" steps: - uses: actions/checkout@v4 - uses: ruby/setup-ruby@v1 with: ruby-version: ${{ matrix.ruby-version }} - name: Build run: | rake gem:build - name: Install run: | rake gem:install ruby-gnome-ruby-gnome-c1ffe87/.gitignore000066400000000000000000000016161460266665500204010ustar00rootroot00000000000000*.a *.bundle *.o *.pc *.so *.swp */pkg/ */tmp/ */vendor/ .RUBYARCHDIR.time .RUBYLIBDIR*.time .emacs.desktop .emacs.desktop.lock .gdb_history .rbx/ /*.tar.gz /.ccache/ /.yardoc/ /Gemfile.local /Gemfile.lock /build/.vagrant/ /dist/ /gdk3/ext/gdk3/rbgdkkeysyms.h /gio2/test/fixture/resource/ruby-gio2.gresource /glib2/ext/glib2/glib-enum-types.c /glib2/ext/glib2/glib-enum-types.h /gobject-introspection/ext/gobject-introspection/gobject-introspection-enum-types.c /gobject-introspection/ext/gobject-introspection/gobject-introspection-enum-types.h /gobject-introspection/ext/gobject-introspection/rbgiversion.h /goocanvas/ext/goocanvas/rbgoo_canvasversion.h /gtk3/test/fixture/*.gresource /gtksourceview2/ext/gtksourceview2/rbgtksourceview2version.h /gtksourceview3/ext/gtksourceview3/rbgtksourceview3version.h /misc/release.rb /poppler/test/tmp/ /tmp/ Makefile Makefile.lib gschemas.compiled mkmf.log yard_docs ruby-gnome-ruby-gnome-c1ffe87/AUTHORS000066400000000000000000000070341460266665500174610ustar00rootroot00000000000000The Ruby-GNOME2 Project Team (in alphabetical order, M:Maintainer) ------------------------------------------------------------------------ Chikara Takamatsu Japanese Website, Website Guillaume Cottenceau Ruby/GLib, Ruby/GTK, Website. Dario Linsky German Website(M). Franz Burgmann German Website, Website, Provides some binary packages. Hiroshi IGARASHI rbbr, Technical advisor. Geoff Youngs Ruby/GTK, Ruby/GdkPixbuf, Ruby/GtkSourceView, Ruby/Pango, Ruby/GLib. Ruby-GNOME2 Icon, Website. Joachim Glauche Releases(M), since 0.17.0 Joao Pedrosa Portuguese-BR Website(M), Website, Ruby/GTK. Joshua Keith Tutorial, Website, Ruby-GNOME2 Icon. Junichiro Kita Ruby/GTK Tutorial(Japanese) (M) KATO Kazuyoshi Ruby/GTK(mainly gtk-demo), Ruby/GdkPixbuf, Ruby/GLib, Ruby/Libart. Kouhei Sutou Ruby/GnomePrint(M), Ruby/GnomePrintUI(M), Ruby/RSVG(M), Ruby/GdkPixbuf, Ruby/GnomeCanvas, Ruby/GTK, Ruby/Libart, Ruby/Pango, Ruby/GtkGLExt, Ruby/GLib. KUBO Takehiro Ruby/GNOME, Ruby/GnomeCanvas, Ruby/Libart, Ruby/GTK, Ruby/GLib. Laurent Sansonetti Ruby/GStreamer(M), Ruby/Libgda(M), Ruby/GtkSourceView(M), Ruby/GLib, Ruby/GTK, French Website, Website, Tutorials. Malte Milatz German Website. Martin Povolný Ruby/GtkHtml2(M). Ruby/GTK, Masahiro Sakai Ruby/GLib and almost of the important design of Ruby-GNOME2. Porting to Win32 platform. Masao Mutoh Chief maintainer. Ruby/ATK(M), Ruby/GTK(M), Ruby/GdkPixbuf(M), Ruby/Libglade(M), Ruby/Pango(M), Ruby/PanelApplet(M), Ruby/rbbr(M), Website(M), Others. Project management. Matthew Berg Ruby/GTK TreeView Tutorial(M), Website, Ruby/GTK. Mirko Maischberger Ruby/GtkMozEmbed(M), Ruby/GTK, Ruby/Pango, Ruby/GdkPixbuf, Ruby/GNOME, Website. Nikolai :: lone-star :: Weibull Ruby/GConf, Ruby/GnomeVFS(M), Ruby/GTK. Nobuyoshi Nakada Technical advisor. OGASAWARA, Takeshi Ruby/GTK. Pascal Terjan Ruby/GLib, Ruby/GTK, Ruby/GtkSourceView, Ruby/Pango, Ruby/GnomeVFS, Ruby/GConf. Sam Stephenson Website. Sjoerd Simons Ruby/GLib, Ruby/GTK. TAMURA.Kenichi Ruby/GLib. Vincent Isambart Ruby/GtkGLExt(M), Ruby/GnomeCanvas, Ruby/ATK, Ruby/Pango, Ruby/GLib, Ruby/GTK, Ruby/GtkHtml2, Ruby/Libart, Ruby/Libglade, French Website, Website. All members of Ruby-GNOME2 Mailing lists. And many others who have contributed patches, reported bugs. Thanks! ---------------------------------------- Ruby-GNOME Maintainers. (current) Kouhei Sutou (up to Ruby-GNOME2 ver. 0.16) Masao Mutoh (up to Ruby-GNOME ver. 0.27) Neil Conway (up to Ruby-GNOME ver. 0.25) Hiroshi IGARASHI (up to Ruby-GNOME ver. 0.18) by Dai.K. charset = UTF-8. ruby-gnome-ruby-gnome-c1ffe87/COPYING.GFDL000066400000000000000000000546621460266665500201700ustar00rootroot00000000000000 GNU Free Documentation License Version 1.3, 3 November 2008 Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc. Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. 0. PREAMBLE The purpose of this License is to make a manual, textbook, or other functional and useful document "free" in the sense of freedom: to assure everyone the effective freedom to copy and redistribute it, with or without modifying it, either commercially or noncommercially. Secondarily, this License preserves for the author and publisher a way to get credit for their work, while not being considered responsible for modifications made by others. This License is a kind of "copyleft", which means that derivative works of the document must themselves be free in the same sense. It complements the GNU General Public License, which is a copyleft license designed for free software. We have designed this License in order to use it for manuals for free software, because free software needs free documentation: a free program should come with manuals providing the same freedoms that the software does. But this License is not limited to software manuals; it can be used for any textual work, regardless of subject matter or whether it is published as a printed book. We recommend this License principally for works whose purpose is instruction or reference. 1. APPLICABILITY AND DEFINITIONS This License applies to any manual or other work, in any medium, that contains a notice placed by the copyright holder saying it can be distributed under the terms of this License. Such a notice grants a world-wide, royalty-free license, unlimited in duration, to use that work under the conditions stated herein. The "Document", below, refers to any such manual or work. Any member of the public is a licensee, and is addressed as "you". You accept the license if you copy, modify or distribute the work in a way requiring permission under copyright law. A "Modified Version" of the Document means any work containing the Document or a portion of it, either copied verbatim, or with modifications and/or translated into another language. A "Secondary Section" is a named appendix or a front-matter section of the Document that deals exclusively with the relationship of the publishers or authors of the Document to the Document's overall subject (or to related matters) and contains nothing that could fall directly within that overall subject. (Thus, if the Document is in part a textbook of mathematics, a Secondary Section may not explain any mathematics.) The relationship could be a matter of historical connection with the subject or with related matters, or of legal, commercial, philosophical, ethical or political position regarding them. The "Invariant Sections" are certain Secondary Sections whose titles are designated, as being those of Invariant Sections, in the notice that says that the Document is released under this License. If a section does not fit the above definition of Secondary then it is not allowed to be designated as Invariant. The Document may contain zero Invariant Sections. If the Document does not identify any Invariant Sections then there are none. The "Cover Texts" are certain short passages of text that are listed, as Front-Cover Texts or Back-Cover Texts, in the notice that says that the Document is released under this License. A Front-Cover Text may be at most 5 words, and a Back-Cover Text may be at most 25 words. A "Transparent" copy of the Document means a machine-readable copy, represented in a format whose specification is available to the general public, that is suitable for revising the document straightforwardly with generic text editors or (for images composed of pixels) generic paint programs or (for drawings) some widely available drawing editor, and that is suitable for input to text formatters or for automatic translation to a variety of formats suitable for input to text formatters. A copy made in an otherwise Transparent file format whose markup, or absence of markup, has been arranged to thwart or discourage subsequent modification by readers is not Transparent. An image format is not Transparent if used for any substantial amount of text. A copy that is not "Transparent" is called "Opaque". Examples of suitable formats for Transparent copies include plain ASCII without markup, Texinfo input format, LaTeX input format, SGML or XML using a publicly available DTD, and standard-conforming simple HTML, PostScript or PDF designed for human modification. Examples of transparent image formats include PNG, XCF and JPG. Opaque formats include proprietary formats that can be read and edited only by proprietary word processors, SGML or XML for which the DTD and/or processing tools are not generally available, and the machine-generated HTML, PostScript or PDF produced by some word processors for output purposes only. The "Title Page" means, for a printed book, the title page itself, plus such following pages as are needed to hold, legibly, the material this License requires to appear in the title page. For works in formats which do not have any title page as such, "Title Page" means the text near the most prominent appearance of the work's title, preceding the beginning of the body of the text. The "publisher" means any person or entity that distributes copies of the Document to the public. A section "Entitled XYZ" means a named subunit of the Document whose title either is precisely XYZ or contains XYZ in parentheses following text that translates XYZ in another language. (Here XYZ stands for a specific section name mentioned below, such as "Acknowledgements", "Dedications", "Endorsements", or "History".) To "Preserve the Title" of such a section when you modify the Document means that it remains a section "Entitled XYZ" according to this definition. The Document may include Warranty Disclaimers next to the notice which states that this License applies to the Document. These Warranty Disclaimers are considered to be included by reference in this License, but only as regards disclaiming warranties: any other implication that these Warranty Disclaimers may have is void and has no effect on the meaning of this License. 2. VERBATIM COPYING You may copy and distribute the Document in any medium, either commercially or noncommercially, provided that this License, the copyright notices, and the license notice saying this License applies to the Document are reproduced in all copies, and that you add no other conditions whatsoever to those of this License. You may not use technical measures to obstruct or control the reading or further copying of the copies you make or distribute. However, you may accept compensation in exchange for copies. If you distribute a large enough number of copies you must also follow the conditions in section 3. You may also lend copies, under the same conditions stated above, and you may publicly display copies. 3. COPYING IN QUANTITY If you publish printed copies (or copies in media that commonly have printed covers) of the Document, numbering more than 100, and the Document's license notice requires Cover Texts, you must enclose the copies in covers that carry, clearly and legibly, all these Cover Texts: Front-Cover Texts on the front cover, and Back-Cover Texts on the back cover. Both covers must also clearly and legibly identify you as the publisher of these copies. The front cover must present the full title with all words of the title equally prominent and visible. You may add other material on the covers in addition. Copying with changes limited to the covers, as long as they preserve the title of the Document and satisfy these conditions, can be treated as verbatim copying in other respects. If the required texts for either cover are too voluminous to fit legibly, you should put the first ones listed (as many as fit reasonably) on the actual cover, and continue the rest onto adjacent pages. If you publish or distribute Opaque copies of the Document numbering more than 100, you must either include a machine-readable Transparent copy along with each Opaque copy, or state in or with each Opaque copy a computer-network location from which the general network-using public has access to download using public-standard network protocols a complete Transparent copy of the Document, free of added material. If you use the latter option, you must take reasonably prudent steps, when you begin distribution of Opaque copies in quantity, to ensure that this Transparent copy will remain thus accessible at the stated location until at least one year after the last time you distribute an Opaque copy (directly or through your agents or retailers) of that edition to the public. It is requested, but not required, that you contact the authors of the Document well before redistributing any large number of copies, to give them a chance to provide you with an updated version of the Document. 4. MODIFICATIONS You may copy and distribute a Modified Version of the Document under the conditions of sections 2 and 3 above, provided that you release the Modified Version under precisely this License, with the Modified Version filling the role of the Document, thus licensing distribution and modification of the Modified Version to whoever possesses a copy of it. In addition, you must do these things in the Modified Version: A. Use in the Title Page (and on the covers, if any) a title distinct from that of the Document, and from those of previous versions (which should, if there were any, be listed in the History section of the Document). You may use the same title as a previous version if the original publisher of that version gives permission. B. List on the Title Page, as authors, one or more persons or entities responsible for authorship of the modifications in the Modified Version, together with at least five of the principal authors of the Document (all of its principal authors, if it has fewer than five), unless they release you from this requirement. C. State on the Title page the name of the publisher of the Modified Version, as the publisher. D. Preserve all the copyright notices of the Document. E. Add an appropriate copyright notice for your modifications adjacent to the other copyright notices. F. Include, immediately after the copyright notices, a license notice giving the public permission to use the Modified Version under the terms of this License, in the form shown in the Addendum below. G. Preserve in that license notice the full lists of Invariant Sections and required Cover Texts given in the Document's license notice. H. Include an unaltered copy of this License. I. Preserve the section Entitled "History", Preserve its Title, and add to it an item stating at least the title, year, new authors, and publisher of the Modified Version as given on the Title Page. If there is no section Entitled "History" in the Document, create one stating the title, year, authors, and publisher of the Document as given on its Title Page, then add an item describing the Modified Version as stated in the previous sentence. J. Preserve the network location, if any, given in the Document for public access to a Transparent copy of the Document, and likewise the network locations given in the Document for previous versions it was based on. These may be placed in the "History" section. You may omit a network location for a work that was published at least four years before the Document itself, or if the original publisher of the version it refers to gives permission. K. For any section Entitled "Acknowledgements" or "Dedications", Preserve the Title of the section, and preserve in the section all the substance and tone of each of the contributor acknowledgements and/or dedications given therein. L. Preserve all the Invariant Sections of the Document, unaltered in their text and in their titles. Section numbers or the equivalent are not considered part of the section titles. M. Delete any section Entitled "Endorsements". Such a section may not be included in the Modified Version. N. Do not retitle any existing section to be Entitled "Endorsements" or to conflict in title with any Invariant Section. O. Preserve any Warranty Disclaimers. If the Modified Version includes new front-matter sections or appendices that qualify as Secondary Sections and contain no material copied from the Document, you may at your option designate some or all of these sections as invariant. To do this, add their titles to the list of Invariant Sections in the Modified Version's license notice. These titles must be distinct from any other section titles. You may add a section Entitled "Endorsements", provided it contains nothing but endorsements of your Modified Version by various parties--for example, statements of peer review or that the text has been approved by an organization as the authoritative definition of a standard. You may add a passage of up to five words as a Front-Cover Text, and a passage of up to 25 words as a Back-Cover Text, to the end of the list of Cover Texts in the Modified Version. Only one passage of Front-Cover Text and one of Back-Cover Text may be added by (or through arrangements made by) any one entity. If the Document already includes a cover text for the same cover, previously added by you or by arrangement made by the same entity you are acting on behalf of, you may not add another; but you may replace the old one, on explicit permission from the previous publisher that added the old one. The author(s) and publisher(s) of the Document do not by this License give permission to use their names for publicity for or to assert or imply endorsement of any Modified Version. 5. COMBINING DOCUMENTS You may combine the Document with other documents released under this License, under the terms defined in section 4 above for modified versions, provided that you include in the combination all of the Invariant Sections of all of the original documents, unmodified, and list them all as Invariant Sections of your combined work in its license notice, and that you preserve all their Warranty Disclaimers. The combined work need only contain one copy of this License, and multiple identical Invariant Sections may be replaced with a single copy. If there are multiple Invariant Sections with the same name but different contents, make the title of each such section unique by adding at the end of it, in parentheses, the name of the original author or publisher of that section if known, or else a unique number. Make the same adjustment to the section titles in the list of Invariant Sections in the license notice of the combined work. In the combination, you must combine any sections Entitled "History" in the various original documents, forming one section Entitled "History"; likewise combine any sections Entitled "Acknowledgements", and any sections Entitled "Dedications". You must delete all sections Entitled "Endorsements". 6. COLLECTIONS OF DOCUMENTS You may make a collection consisting of the Document and other documents released under this License, and replace the individual copies of this License in the various documents with a single copy that is included in the collection, provided that you follow the rules of this License for verbatim copying of each of the documents in all other respects. You may extract a single document from such a collection, and distribute it individually under this License, provided you insert a copy of this License into the extracted document, and follow this License in all other respects regarding verbatim copying of that document. 7. AGGREGATION WITH INDEPENDENT WORKS A compilation of the Document or its derivatives with other separate and independent documents or works, in or on a volume of a storage or distribution medium, is called an "aggregate" if the copyright resulting from the compilation is not used to limit the legal rights of the compilation's users beyond what the individual works permit. When the Document is included in an aggregate, this License does not apply to the other works in the aggregate which are not themselves derivative works of the Document. If the Cover Text requirement of section 3 is applicable to these copies of the Document, then if the Document is less than one half of the entire aggregate, the Document's Cover Texts may be placed on covers that bracket the Document within the aggregate, or the electronic equivalent of covers if the Document is in electronic form. Otherwise they must appear on printed covers that bracket the whole aggregate. 8. TRANSLATION Translation is considered a kind of modification, so you may distribute translations of the Document under the terms of section 4. Replacing Invariant Sections with translations requires special permission from their copyright holders, but you may include translations of some or all Invariant Sections in addition to the original versions of these Invariant Sections. You may include a translation of this License, and all the license notices in the Document, and any Warranty Disclaimers, provided that you also include the original English version of this License and the original versions of those notices and disclaimers. In case of a disagreement between the translation and the original version of this License or a notice or disclaimer, the original version will prevail. If a section in the Document is Entitled "Acknowledgements", "Dedications", or "History", the requirement (section 4) to Preserve its Title (section 1) will typically require changing the actual title. 9. TERMINATION You may not copy, modify, sublicense, or distribute the Document except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, or distribute it is void, and will automatically terminate your rights under this License. However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, receipt of a copy of some or all of the same material does not give you any rights to use it. 10. FUTURE REVISIONS OF THIS LICENSE The Free Software Foundation may publish new, revised versions of the GNU Free Documentation 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. See http://www.gnu.org/copyleft/. Each version of the License is given a distinguishing version number. If the Document specifies that a particular numbered version of this License "or any later version" applies to it, you have the option of following the terms and conditions either of that specified version or of any later version that has been published (not as a draft) by the Free Software Foundation. If the Document does not specify a version number of this License, you may choose any version ever published (not as a draft) by the Free Software Foundation. If the Document specifies that a proxy can decide which future versions of this License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Document. 11. RELICENSING "Massive Multiauthor Collaboration Site" (or "MMC Site") means any World Wide Web server that publishes copyrightable works and also provides prominent facilities for anybody to edit those works. A public wiki that anybody can edit is an example of such a server. A "Massive Multiauthor Collaboration" (or "MMC") contained in the site means any set of copyrightable works thus published on the MMC site. "CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0 license published by Creative Commons Corporation, a not-for-profit corporation with a principal place of business in San Francisco, California, as well as future copyleft versions of that license published by that same organization. "Incorporate" means to publish or republish a Document, in whole or in part, as part of another Document. An MMC is "eligible for relicensing" if it is licensed under this License, and if all works that were first published under this License somewhere other than this MMC, and subsequently incorporated in whole or in part into the MMC, (1) had no cover texts or invariant sections, and (2) were thus incorporated prior to November 1, 2008. The operator of an MMC Site may republish an MMC contained in the site under CC-BY-SA on the same site at any time before August 1, 2009, provided the MMC is eligible for relicensing. ADDENDUM: How to use this License for your documents To use this License in a document you have written, include a copy of the License in the document and put the following copyright and license notices just after the title page: Copyright (c) YEAR YOUR NAME. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license is included in the section entitled "GNU Free Documentation License". If you have Invariant Sections, Front-Cover Texts and Back-Cover Texts, replace the "with...Texts." line with this: with the Invariant Sections being LIST THEIR TITLES, with the Front-Cover Texts being LIST, and with the Back-Cover Texts being LIST. If you have Invariant Sections without Cover Texts, or some other combination of the three, merge those two alternatives to suit the situation. If your document contains nontrivial examples of program code, we recommend releasing these examples in parallel under your choice of free software license, such as the GNU General Public License, to permit their use in free software. ruby-gnome-ruby-gnome-c1ffe87/COPYING.LIB000066400000000000000000000636421460266665500200600ustar00rootroot00000000000000 GNU LESSER GENERAL PUBLIC LICENSE Version 2.1, February 1999 Copyright (C) 1991, 1999 Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 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 Lesser GPL. It also counts as the successor of the GNU Library Public License, version 2, hence the version number 2.1.] 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 Lesser General Public License, applies to some specially designated software packages--typically libraries--of the Free Software Foundation and other authors who decide to use it. You can use it too, but we suggest you first think carefully about whether this license or the ordinary General Public License is the better strategy to use in any particular case, based on the explanations below. When we speak of free software, we are referring to freedom of use, 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 and use pieces of it in new free programs; and that you are informed that you can do these things. To protect your rights, we need to make restrictions that forbid distributors to deny you these rights or to ask you to surrender these 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 other code 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. We protect your rights with a two-step method: (1) we copyright the library, and (2) we offer you this license, which gives you legal permission to copy, distribute and/or modify the library. To protect each distributor, we want to make it very clear that there is no warranty for the free library. Also, if the library is modified by someone else and passed on, the recipients should know that what they have is not the original version, so that the original author's reputation will not be affected by problems that might be introduced by others. Finally, software patents pose a constant threat to the existence of any free program. We wish to make sure that a company cannot effectively restrict the users of a free program by obtaining a restrictive license from a patent holder. Therefore, we insist that any patent license obtained for a version of the library must be consistent with the full freedom of use specified in this license. Most GNU software, including some libraries, is covered by the ordinary GNU General Public License. This license, the GNU Lesser General Public License, applies to certain designated libraries, and is quite different from the ordinary General Public License. We use this license for certain libraries in order to permit linking those libraries into non-free programs. When a program is linked with a library, whether statically or using a shared library, the combination of the two is legally speaking a combined work, a derivative of the original library. The ordinary General Public License therefore permits such linking only if the entire combination fits its criteria of freedom. The Lesser General Public License permits more lax criteria for linking other code with the library. We call this license the "Lesser" General Public License because it does Less to protect the user's freedom than the ordinary General Public License. It also provides other free software developers Less of an advantage over competing non-free programs. These disadvantages are the reason we use the ordinary General Public License for many libraries. However, the Lesser license provides advantages in certain special circumstances. For example, on rare occasions, there may be a special need to encourage the widest possible use of a certain library, so that it becomes a de-facto standard. To achieve this, non-free programs must be allowed to use the library. A more frequent case is that a free library does the same job as widely used non-free libraries. In this case, there is little to gain by limiting the free library to free software only, so we use the Lesser General Public License. In other cases, permission to use a particular library in non-free programs enables a greater number of people to use a large body of free software. For example, permission to use the GNU C Library in non-free programs enables many more people to use the whole GNU operating system, as well as its variant, the GNU/Linux operating system. Although the Lesser General Public License is Less protective of the users' freedom, it does ensure that the user of a program that is linked with the Library has the freedom and the wherewithal to run that program using a modified version of the Library. 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, whereas the latter must be combined with the library in order to run. GNU LESSER GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License Agreement applies to any software library or other program which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Lesser 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 combine 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) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (1) uses at run time a copy of the library already present on the user's computer system, rather than copying library functions into the executable, and (2) will operate properly with a modified version of the library, if the user installs one, as long as the modified version is interface-compatible with the version that the work was made with. c) 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. d) 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. e) 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 materials to be 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 with 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 Lesser 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. Copyright (C) This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 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 Lesser General Public License for more details. You should have received a copy of the GNU Lesser 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 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. , 1 April 1990 Ty Coon, President of Vice That's all there is to it! ruby-gnome-ruby-gnome-c1ffe87/Gemfile000066400000000000000000000021641460266665500177030ustar00rootroot00000000000000# Copyright (C) 2012-2021 Ruby-GNOME Project Team # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser 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 source "https://rubygems.org/" gem "cairo" gem "native-package-installer" gem "pkg-config" gem "rake" gem "test-unit" gem "webrick" gem "yard" gem "yard-gobject-introspection", github: "ruby-gnome/yard-gobject-introspection" local_gemfile = File.join(File.dirname(__FILE__), "Gemfile.local") if File.exist?(local_gemfile) eval_gemfile(local_gemfile) end ruby-gnome-ruby-gnome-c1ffe87/Gemfile.local.sample000066400000000000000000000014561460266665500222570ustar00rootroot00000000000000# Copyright (C) 2014 Ruby-GNOME2 Project Team # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser 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 gem "rake-compiler" gem "mechanize" ruby-gnome-ruby-gnome-c1ffe87/NEWS.md000066400000000000000000000365021460266665500175110ustar00rootroot00000000000000# NEWS ## Ruby-GNOME 4.2.2: 2024-04-02 This is a GLib 2.80 support improvement release. ### Changes #### Ruby/GIO2 * Improvements * Fixed a load error with GLib 2.80. * GH-1610 * Reported by Dmitry Vorotilin #### Ruby/GTK4 * Improvements * `Gtk::CssProvider#load(string:)`: Added. * GH-1608 * Reported by Sami Sieranoja * `Gtk::CssProvider#load(bytes:)`: Added. * GH-1608 * Reported by Sami Sieranoja ### Thanks * Sami Sieranoja * Dmitry Vorotilin ## Ruby-GNOME 4.2.1: 2024-02-23 This is a minor bug fix release. ### Changes #### Ruby/GLib2 * Improvements * Added support for showing `GType` name for anonymous `GType` based classes. * GH-1577 * Reported by Sami Sieranoja * Added `RG_DEF_SALIAS()`. * Stopped providing unusable signal related methods to not signal ready objects such as `GLib::Instantiatable`. * GH-1589 * Reported by Sami Sieranoja * Added `GLib::Type::INVALID`. `GLib::Type[nil]` is also accepted. * GH-1594 * Reported by Sami Sieranoja * Added `GLib::TimeZone#identifier`. * Added `GLib::TimeZone.try_convert`. #### Ruby/GObjectIntrospection * Improvements * Ignored `.hash(some_arguments)` methods. It may break something. * Ignored fundamental `GType`. * GH-1580 * Reported by Sami Sieranoja * Added support for returning sized `GType` array. #### Ruby/GDK4 * Fixes * Fixed a GC related bug of `Gdk::MemoryTexture.new`. * GH-1596 * Reported by HuBandiT * Fixed a GC related bug of `Gdk::Picture`. * GH-1596 * Reported by HuBandiT #### Ruby/GTK4 * Improvements * Added a menu bar sample. * GH-1581 * GH-1582 * GH-1584 * Patch by Sami Sieranoja * Added support for `Gtk::DropTarget.new([type, ...], actions)`. * GH-1594 * Reported by Sami Sieranoja * Fixes * Fixed deprecation message of `Gtk::Button.new`. * GH-1587 * Reported by Sami Sieranoja * Fixed a GC related bug of `Gtk::Image`. * Fixed a GC related bug of `Gtk::ColumnView`. * GH-1600 * Reported by HuBandiT * Fixed a GC related bug of `Gtk::SingleSelection`. * GH-1600 * Reported by HuBandiT #### Ruby/GStreamer * Improvements * Added a missing GC guard for `Gst::Element#bus`. * GH-1586 * Reported by Sami Sieranoja ### Thanks * Sami Sieranoja * HuBandiT ## Ruby-GNOME 4.2.0: 2023-08-19 This is a minor bug fix release. ### Changes #### Ruby/GTK3 * Fixes * Suppressed a build time warning. ## Ruby-GNOME 4.1.9: 2023-08-11 This is a vte4 added release. ### Changes #### Ruby/GObjectIntrospection * Improvements * Changed to use GLib memory allocation functions instead of Ruby's one when calling callbacks. Because callbacks may be called in out of the main Ruby thread. #### Ruby/VTE3 * Improvements * Ensured using GTK3. #### Ruby/VTE4 * Improvements * Added. ## Ruby-GNOME 4.1.8: 2023-06-25 This is a conda support release. ### Changes #### All * Improvements * Added support for installing conda packages automatically. ## Ruby-GNOME 4.1.7: 2023-05-31 This is a minor improvement release for 4.1.6. ### Changes #### Ruby/GLib2 * Improvements * Added support for writer barrier. #### Ruby/CairoGObject * Improvements * Added support for specifying rcairo's source directory by `RCAIRO_SOURCE_DIR`. ## Ruby-GNOME 4.1.6: 2023-05-21 This is a minor improvement release for 4.1.5. ### Changes #### Ruby/GLib2 * Improvements * Avoided closure related `TypeError` in GC at exit. [Reported by Matijs van Zuijlen] ### Thanks * Matijs van Zuijlen ## Ruby-GNOME 4.1.5: 2023-05-11 This is a bug fix release for 4.1.4. ### Changes #### Ruby/GLib2 * Improvements * Ignored `gmodule.h` explicitly for MacPorts. [Reported by Akira Ouchi] ### Thanks * Akira Ouchi ## Ruby-GNOME 4.1.4: 2023-05-04 This is a bug fix release for 4.1.3. ### Changes #### Ruby/GObjectIntrospection * Improvements * Hid internal `INVOKERS` constant to improve backward compatibility. GH-1551 [Reported by Mamoru TASAKA] ### Thanks * Mamoru TASAKA ## Ruby-GNOME 4.1.3: 2023-04-28 This is a bug fix release for 4.1.2. ### Changes #### Ruby/GObjectIntrospection * Improvements * Added support for methods and functions for enum and flags. * Improved internal `GObjectIntrospection::Loader` APIs but some libraries may use these APIs. So this may be a backward incompatible change. * Fixes * Fixed a bug for nullable argument support. #### Ruby/GTK4 * Improvements * Added examples: * GH-1551 * GH-1552 * GH-1553 * GH-1554 * GH-1555 * GH-1556 * GH-1557 * GH-1558 [Patch by Toshio Sekiya] ### Thanks * Toshio Sekiya ## Ruby-GNOME 4.1.2: 2023-02-24 This is a release to improve support for the latest GNOME related libraries. ### Changes #### Ruby/GLib2 * Improvements * Added support for GLib 2.75 or later. [GH-1547] [Reported by Mamoru TASAKA] #### Ruby/GObjectIntrospection * Improvements * Improved wrong arguments error message for `#initialize`. [GH-1545] [Reported by D-W-L] #### Ruby/GTK4 * Improvements * Added support for GTK 4.9.3 or later. [GH-1548] [Reported by Mamoru TASAKA] * Added an example. [GH-1549] [Patch by Toshio Sekiya] ### Thanks * D-W-L * Mamoru TASAKA * Toshio Sekiya ## Ruby-GNOME 4.1.1: 2023-02-09 This is a release to improve callback. ### Changes #### Ruby/GLib2 * Improvements * Added missing error check in `GLib::Object.type_register`. [GH-1543] [Reported by D-W-L] * Added support for `try_convert` protocol on converting a Ruby object to boxed value. #### Ruby/GObjectIntrospection * Improvements * Relaxed return values from callback. Non `Array` value is accepted for callback that needs multiple return values. Missing return values are processed as `nil`. * Suppressed a warning that is reported when returning `nil` for boxed value. ### Thanks * D-W-L ## Ruby-GNOME 4.1.0: 2023-01-31 This is a bug fix release of 4.0.9. ### Changes #### Ruby/GLib2 * Fixes * Fixed a memory leak introduced in 4.0.9. #### Ruby/Handy * Improvements * Renamed gem name to `libhandy` from `handy` because `handy` gem already exists. ## Ruby-GNOME 4.0.9: 2023-01-31 This is a bug fix release of 4.0.8. ### Changes #### Ruby/GLib2 * Fixes * Fixed a crash bug that is related to closure and GC. ## Ruby-GNOME 4.0.8: 2023-01-15 This is a bug fix release of 4.0.7. ### Changes #### Ruby/GLib2 * Fixes * Fixed a bug that gems that depend on glib2 gem can't find `glib-enum-types.h`. ## Ruby-GNOME 4.0.7: 2023-01-15 This is a release for Ruby 3.2 on Windows again. ### Changes #### Ruby/GLib2 * Improvements * Really added support for Ruby 3.2 on Windows. [GH-1535] [Reported by dsisnero] ### Thanks * dsisnero ## Ruby-GNOME 4.0.6: 2023-01-08 This is a release for Ruby 3.2 on Windows. ### Changes #### Ruby/GLib2 * Improvements * Added support for Ruby 3.2 on Windows. [GH-1533] [Reported by dsisnero] ### Thanks * dsisnero ## Ruby-GNOME 4.0.5: 2022-12-12 This is a bug fix release of 4.0.4. ### Changes #### Ruby/GObjectIntrospection * Fixes * Fixed a memory leak that `GDestroyNotify` argument's metadata isn't freed. For example, this is happen with `GLib::Timeout.add`. ## Ruby-GNOME 4.0.4: 2022-12-09 This is a release that adds more new libraries: Ruby/Adwaita, Ruby/GtkSourceView3 and Ruby/Handy. ### Changes #### Documents * Improvements * Added gdk4 and gtk4. [[GitHub#1514](https://github.com/ruby-gnome/ruby-gnome/issues/1514)] [Reported by codart] #### All * Improvements * Added support for macOS 12/Xcode 14. [[GitHub#1516](https://github.com/ruby-gnome/ruby-gnome/issues/1516)] [Reported by Apoorv Sohal] #### Ruby/GLib2 * Improvements * Added support for instantiating `GLib::Pointer` and getting address of it. * Renamed `gnome2/` to `gnome/` in internal library path. * Suppressed `connected_closures` isn't initialized warning. * Re-added `GLib::ValueArray` because GStreamer still uses it without replacement. [[GitHub#1520](https://github.com/ruby-gnome/ruby-gnome/issues/1520)] [Reported by Matt Palmer] * Set missing `rb_data_type_t::wrap_struct_name`. [[GitHub#1522](https://github.com/ruby-gnome/ruby-gnome/issues/1522)] [Patch by Peter Zhu] * Added support for more `GSpawnFlags`. * Fixes * Fixed a bug that `GLib::Pointer.gtype` and `GLib::Pointer#gtype` use the wrong number of arguments. * Fixed a memory leak in `GLib::Object` based classes. [[GitHub#1523](https://github.com/ruby-gnome/ruby-gnome/issues/1523)] [Patch by Peter Zhu] #### Ruby/GObjectIntrospection * Improvements * Added support for `length` in field. [[GitHub#1524](https://github.com/ruby-gnome/ruby-gnome/issues/1524)] [Reported by jvmf1] #### Ruby/GIO2 * Improvements * Added support for getting `GLib::Mount` by `Gio::Volume#mount`. [[GitHub#604](https://github.com/ruby-gnome/ruby-gnome/issues/604)] #### Ruby/GTK4 * Improvements * [sample] Updated. [[GitHub#1512](https://github.com/ruby-gnome/ruby-gnome/issues/1512)] [[GitHub#1515](https://github.com/ruby-gnome/ruby-gnome/issues/1515)] [Patch by kojix2] [[GitHub#1526](https://github.com/ruby-gnome/ruby-gnome/issues/1526)] [[GitHub#1527](https://github.com/ruby-gnome/ruby-gnome/issues/1527)] [Patch by Daniel Mircea] * Fixes * Fixed a bug that `Gtk::ScrolledWindow` can't be created. [[GitHub#1504](https://github.com/ruby-gnome/ruby-gnome/issues/1504)] [Reported by rubyFeedback] * Fixed a typo in `Gtk::Image.new`. [[GitHub#1504](https://github.com/ruby-gnome/ruby-gnome/issues/1504)] [Reported by rubyFeedback] * Fixed a bug that `Gtk::CellRendereText` may be GC-ed. [[GitHub#1518](https://github.com/ruby-gnome/ruby-gnome/issues/1518)] [Reported by galtgenod] * Fixed a crash bug that is caused when GLib based class defined by Ruby is used. [[GitHub#1444](https://github.com/ruby-gnome/ruby-gnome/issues/1444)] [Reported by HuBandiT] #### Ruby/libsecret * Fixes * Fixed wrong MSYS2 package name. #### Ruby/GtkSourceView4 * Fixes * Fixed package ID. [[GitHub#1525](https://github.com/ruby-gnome/ruby-gnome/issues/1525)] [Reported by Daniel Mircea] #### Ruby/GtkSourceView5 * Added. [[GitHub#1511](https://github.com/ruby-gnome/ruby-gnome/issues/1511)] [Reported by galtgendo] #### Ruby/Adwaita * Added. [[GitHub#1510](https://github.com/ruby-gnome/ruby-gnome/issues/1510)] [Reported by rubyFeedback] #### Ruby/Handy * Added. [[GitHub#1434](https://github.com/ruby-gnome/ruby-gnome/issues/1434)] [Reported by Jacob Michalskie] ### Thanks * rubyFeedback * kojix2 * codart * Apoorv Sohal * galtgendo * Matt Palmer * Peter Zhu * HuBandiT * jvmf1 * Daniel Mircea * Jacob Michalskie ## Ruby-GNOME 4.0.3: 2022-09-13 This is a bug fix release of 4.0.2. ### Changes #### Ruby/GTK4 * Fixes * Fixed a bug that `ext/**/*.*` aren't included in `.gem`. [GitHub#1498][Reported by Anatol Pomozov] ### Thanks * Anatol Pomozov ## Ruby-GNOME 4.0.2: 2022-09-05 This is a bug fix release of 4.0.1. ### Changes #### Ruby/GLib2 * Fixes * Fixed a bug that closure may be GC-ed. [GitHub#1495][Reported by Matijs van Zuijlen] #### Ruby/GObjectIntrospection * Fixes * Fixed a bug that callback doesn't work with GObject Introspection 1.72.0 or later. [GitHub#1496][Reported by Mamoru TASAKA] ### Thanks * Mamoru TASAKA * Matijs van Zuijlen ## Ruby-GNOME 4.0.1: 2022-09-02 This is a bug fix release of 4.0.0. ### Changes #### Ruby/GLib2 * Fixes * Fixed wrong false constant value. ## Ruby-GNOME 4.0.0: 2022-09-01 This is a release that supports GTK 4. ### Changes #### All * windows: Removed a needless workaround for old libintl-8.dll. * doc: Added support for generating API documents. [GitHub#1468][Patch by kojix2] * doc: Added Rake tasks to generate documents. [GitHub#1482][Patch by Sean Champ] * Use Bundler API to load (({Gemfile.local})). [GitHub#1483][Patch by Sean Champ] #### Ruby/GLib2 * Improvements * Changed to use `g_warning()` from `rb_warn()` for already destroyed closure warning. * Dropped support for GLib 2.48 or earlier. * Added `GLib::DateTime#format_iso8601`. * Added `rbg_mGLib()`. * Added `rbg_mGLibObject()`. * Deprecated `mGLib`. * Added support for auto native package installation on Gentoo Linux. * Added `GLib.malloc`. * Added `GLib.malloc0`. * Added `GLib.free`. * Added `GLib::Variant#to_s`. [GitHub#1491][Reported by Sean Champ] * Added `GLib::Variant#inspect`. * Added `GLib::Variant.parse`. [GitHub#1491][Reported by Sean Champ] * Fixes * closure: Fixed a reference count problem. #### Ruby/GObjectIntrospection * Improvements * Don't raise an exception for `object == nil`. [GitHub#1472][Reported by Hirokazu SUZUKI] * Added support for returning a fixed size C array of `GObject`. [GitHub#1481][Reported by Sean Champ] * Added support for GObject Introspection 1.72.0 or later. * Added support for returning `GClosure` from virtual method. * Added support for `transfer full` boxed type returned by closure. * Fixes * Fixed a bug that `gpointer` to `VALUE` conversion is broken on 32bit environment. [GitHub#1462][Reported by Mamoru TASAKA] * Fixed a wrong `GHashTable` value conversion in Ruby -> `GHashTable`. [GitHub#1481][Reported by Sean Champ] * Fixed a memory leak of `GObjectIntrospection::CallableInfo#return_type`. * Fixed a memory leak for async callback. #### Ruby/GTK3 * Improvements * Required GTK+ 3.22 or later. * Added support for `Gtk::AccelMap.each(filter: true)`. [GitHub#1487][Reported by Sean Champ] * Fixes * Fixed wrong {`Gtk::RadioToolButton.new` usage in demo. [GitHub#1475][Reported by Sami Sieranoja] * Fixed a GC related bug of `Gtk::Widget#insert_action_group`. [GitHub#1490][Reported by Sean Champ] #### Ruby/GDK4 * Re-implemented based on the current Ruby/GDK3. #### Ruby/GTK4 * Re-implemented based on the current Ruby/GTK4. #### Ruby/Poppler * Improvements * Added support for `Poppler::Document.new(GLib::Bytes)`. #### Ruby/RSVG2 * Fixes * doc: Fixed a link. [GitHub#1469][Patch by Blake Gearin] #### Ruby/GStreamer * Fixes * example: Updated to work with the latest GStreamer. [GitHub#1478][Patch by kojix2] #### Ruby/libsecret * Improvements * Added support for `Secret::Schema#attributes`. #### Ruby/VTE3 * Improvements * Removed needless `Vte::Terminal#feed_child` wrapper. [GitHub#1484][Patch by Sean Champ] ### Thanks * Mamoru TASAKA * kojix2 * Blake Gearin * Hirokazu SUZUKI * Sami Sieranoja * Sean Champ ## Old news See [NEWS.rd](NEWS.rd). ruby-gnome-ruby-gnome-c1ffe87/NEWS.rd000066400000000000000000006231351460266665500175220ustar00rootroot00000000000000# -*- RD -*- = NEWS == Ruby-GNOME 3.5.1: 2022-01-17 This is a release for Windows. === Changes ==== All * windows: Added workaround for mingw-w64-x86_64-gettext-0.21-1 or later. Dummy (({DllMain()})) is defined. ==== Ruby/GdkPixbuf2 * Improvements * Suppressed method redefining warnings. ==== Ruby/Pango * Fixes * Fixed a bug that can't be started. [GitHub#1456][Reported by Akira Ouchi] ==== Ruby/GObjectIntrospection * Fixes * Fixed a bug that (({NoMethodError})) is raised on invalid signature for constructor. === Thanks * Akira Ouchi == Ruby-GNOME 3.5.0: 2022-01-11 This is a release that adds support for Ractor. Ruby/GObjectIntrospection has some backward incompatibilities for Ractor support. If you have any problem, please report it to https://github.com/ruby-gnome/ruby-gnome/issues . === Changes ==== Ruby/GLib2 * Improvements * Added support for Ractor. * Added support for signal handlers and virtual methods in included module. * Added support for (({try_convert})) protocol for property setter. * Added support for converting tuple (({GVariant})) to Ruby. ==== Ruby/GIO2 * Improvements * Added support for GIO 2.70. * Added (({Gio::RubyInputStream})) to use Ruby objects as (({Gio::InputStream})). * Added (({Gio::RubyOutputStream})) to use Ruby objects as (({Gio::OutputStream})). ==== Ruby/GObjectIntrospection * Improvements * Added support for Ractor. This introduced some backward incompatiblities. * Added support for "transfer full" for out (({GError})). [GitHub#1437][Reported by mcclumpherty] * Added support for changing whether GVL is unlocked per object by the following APIs. * (({GObjectIntrospection::FunctionInfo#set_lock_gvl_default})) * (({GObjectIntrospection::FunctionInfo#add_lock_gvl_predicate})) * (({GObjectIntrospection::Loader#prepare_function_info_lock_gvl})) * Added support for converting from raw argument to enum. * Added support for (({GList})) return value. * Added support for reporting an error in callback. * Fixes * Fixed a bug that virtual functions of grandparent class can't be implemented. [GitHub#1433][Patch by shibafu] ==== Ruby/Pango * Improvements * Added support for Ruby 3.2. ==== Ruby/GTK3 * Improvements * Improved documentation. [GitHub#1454][Patch by Andy Maleh] * Added support for Ruby 3.2. ==== Ruby/GDK4 * Improvements * Updated pkg-config ID. [GitHub#1435][Patch by Sasi Olin] ==== Ruby/GTK4 * Improvements * Removed needless rsvg2 dependency on Windows. [GitHub#1440][Reported by HuBandiT] * Fixes * Fixed typos in warning messages. [GitHub#1442][Patch by HuBandiT] [GitHub#1415][Reported by rubyFeedback] === Thanks * shibafu * Sasi Olin * mcclumpherty * HuBandiT * rubyFeedback * Andy Maleh == Ruby-GNOME 3.4.9: 2021-08-10 This is a bug fix release of 3.4.8. === Changes ==== Ruby/GObjectIntrospection * Fixes * Fixed a bug that (({gpointer})) to Ruby conversion breaks a value when pointer value is (({2 ** 32})) or larger. == Ruby-GNOME 3.4.8: 2021-08-09 This is a bug fix release of 3.4.7. === Changes ==== Ruby/GObjectIntrospection * Fixes * Fixed a bug that (({gpointer})) to Ruby conversion breaks a value when pointer value is (({2 ** 32})) or larger. == Ruby-GNOME 3.4.7: 2021-07-30 This is a release that improves virtual function support. === Changes ==== Ruby/GLib2 * Improvements * (({GLib::Error})): Added support for setting (({code})) and (({domain})) automatically. ==== Ruby/GObjectIntrospection * Improvements * Added support for returning object from callback. * Fixes * Fixed a bug that (({GError})) detection doesn't work. == Ruby-GNOME 3.4.6: 2021-07-17 This is a bug fix release for macOS. === Changes ==== Ruby/Pango * Fixes * Fixed a bug that (({require "pango"})) is failed on environment that has multiple font types. [GitHub#1429][Reported by Cameron Gose] === Thanks * Cameron Gose == Ruby-GNOME 3.4.5: 2021-07-07 This is a release that supports implementing virtual functions in Ruby. === Changes ==== Ruby/GLib2 * Improvements * Added (({GError})) domain and code for Ruby. ==== Ruby/GObjectIntrospection * Improvements * (({GObjectIntrospection::BaseInfo#container})): Added. * (({GObjectIntrospection::ObjectInfo#class_struct})): Added. * (({GObjectIntrospection::StructInfo#find_field})): Added. * (({RVAL2GI_VFUNC_INFO()})): Added. * Added support for implementing virtual functions in Ruby. [GitHub#1386][Based on patch by Yuto Tokunaga] You need to define (({virtual_do_#{virtual_function_name}})) method in (({type_register}))-ed class. * Added support for implementing virtual functions of interface in Ruby. [GitHub#985][Reported by Matijs van Zuijlen] [GitHub#1938][Reported by Yuto Tokunaga] * Added support for "transfer everything" UTF-8 return/output value. * Changed to accepted one character for (({gunichar})). [GitHub#1426][Reported by rubyFeedback] * (({GObjectIntrospection::CallableInfo#can_throw_gerror?})): Added. * Added support for (({GError **})) in callback. * Added support for returning (({GList})) from callback. * Changed to return (({[]})) for (({NULL})) list. * Fixes * Fixed a bug that wrong type information is used for output arguments. ==== Ruby/Pango * Added support for (({PangoFT2})). * Added support for (({PangoFc})). * Added support for (({PangoOT})). * Added support for (({PangoCairoFontMaps})). * Updated gem metadata. [GitHub#1428][Patch by Gabriel Mazetto] === Thanks * Yuto Tokunaga * Matijs van Zuijlen * rubyFeedback * Gabriel Mazetto == Ruby-GNOME 3.4.4: 2021-04-22 This is a bug fix release for Windows. === Changes ==== All * Dropped support for CentOS 6. * Dropped support for Ubuntu 16.04. * Dropped support for Ruby 2.4. * Dropped support for Ruby 2.5. * Added support for Ruby 3.0. ==== Document * Improvements * Improved how to use on Heroku. [GitHub#1414][Patch by Juan D Lopez] * Improved README. [Patch by kojix2] ==== Ruby/GLib * Improvements * Added (({RVAL2POINTER()})). * Added (({POINTER2RVAL()})). * Changed to use (({rb_cObject})) instead of (({rb_cData})) as a parent class of typed data. * Changed to use typed data instead of data for all data types. * Added support for Ractor partially. * Required GLib 2.48 or later. * (({GLib::UniChar.compose})): Added. * (({GLib::UniChar.decompose})): Added. * (({GLib::UniChar.canonical_decomposition})): Deprecated. Use (({GLib::UniChar.decompose})) instead. * (({GLib.format_size_for_display})): Deprecated. Use (({GLib.format_size})) instead. * Fixes * Fixed wrong conversions between (({VALUE})) and (({GType})). [GitHub#1386][Patch by Yuto Tokunaga] ==== Ruby/GObjectIntrospection * Improvements * Removed needless transfer check for struct. [GitHub#1396][Reported by Konrad Narewski] * Added support freeing (({GArray})) of raw struct out parameter. [GitHub#1356][Reported by aycabta] ==== Ruby/Pango * Improvements * Added (({Pango::Render::PART_*})) to keep backward compatibility. [GitHub#1311][Reported by rubyFeedback] ==== Ruby/GStreamer * Improvements * Removed needless workaround for (({Gst::ElementFactory#static_pad_templates})). [GitHub#1400][Reported by Justin Weiss] ==== Ruby/Gnumeric * Improvements * Added support for the latest Gnumeric. ==== Ruby/GTK3 * Improvements * (({Gtk::Widget#set_size_request})): Added support for (({width:})) and (({height:})). [GitHub#1406][Reported by rubyFeedback] * (({Gtk::Dialog#set_default_response})): Added support for (({Symbol})). [GitHub#1418][Reported by rubyFeedback] ==== Ruby/GDK4 * Added. ==== Ruby/GTK4 * Added. ==== Ruby/VTE3 * Improvements * Improved description. [GitHub#1406][Reported by rubyFeedback] ==== Ruby/GTK2 * Removed. ==== Ruby/GtkSourceView2 * Removed. ==== Ruby/WebKitGtk2 * Removed. ==== Ruby/VTE * Removed. === Thanks * Konrad Narewski * aycabta * rubyFeedback * Justin Weiss * Yuto Tokunaga * Juan D Lopez * kojix2 == Ruby-GNOME 3.4.3: 2020-05-11 This is a follow-up release of 3.4.2. === Changes ==== Ruby/GLib2 * Fixes * Windows: Fixed a link errors. == Ruby-GNOME 3.4.2: 2020-05-02 This is a follow-up release of 3.4.1. === Changes ==== Ruby/GLib2 * Improvements * Added support for Ruby 2.8. ==== Ruby/GTK3 * Improvements * (({Gtk::Widget#style_get_property})): Added a validation. * Updated examples. [GitHub#1318][GitHub#1319][GitHub#1320][GitHub#1321][GitHub#1322] [GitHub#1323][GitHub#1324][GitHub#1325][GitHub#1326][GitHub#1327] [GitHub#1328][GitHub#1329][GitHub#1330][GitHub#1331][GitHub#1332] [GitHub#1353][GitHub#1354][GitHub#1355][GitHub#1391] [Patch by kojix2] * Fixes * Fixed a typo. [GitHub#1307][Patch by İsmail Arılık] ==== Ruby/GObjectIntrospection * Improvements * Changed to accept (({nil})) as a false value for boolean. [GitHub#1305][Reported by Matijs van Zuijlen] * Added support for UTF-8 (({GHashTable})) value. * Added workaround for (({rsvg_handle_set_stylesheet()})). * Fixes * Fixed a bug that pointer struct isn't allocated correctly. [GitHub#1315][Reported by Konrad Narewski] ==== Ruby/GtkSourceView4 * Improvements * Added support for auto native package install on Ubuntu. [GitHub#1309][Patch by İsmail Arılık] * Added support for auto native package install on Debian GNU/Linux. ==== Ruby/VTE3 * Improvements * (({Vte::Terminal#spawn})): Made options optional. [GitHub#1333][Patch by kojix2] * Updated README. [GitHub#1335][Patch by kojix2] ==== Ruby/GdkPixbuf2 * Improvements * Updated examples. [GitHub#1336][GitHub#1337][GitHub#1338][GitHub#1339][GitHub#1340] [GitHub#1341][GitHub#1342][GitHub#1343][GitHub#1344][GitHub#1347] [GitHub#1348][GitHub#1349] [Patch by kojix2] * Updated README. [GitHub#1346][Patch by kojix2] ==== Ruby/WebKit2GTK * Fixes * Fixed dependency check. [GitHub#1351][Patch by kojix2] ==== Ruby/RSVG2 * Improvements * Updated examples. [GitHub#1357][Patch by kojix2] [GitHub#1393][Patch by Jean-Christophe Le Lann] === Thanks * Matijs van Zuijlen * İsmail Arılık * Konrad Narewski * kojix2 * Jean-Christophe Le Lann == Ruby-GNOME 3.4.1: 2019-10-16 This is a follow-up release of 3.4.0. === Changes ==== Ruby/GDK3 * Improvements * Added support for (({String})) and (({Symbol})) as (({Gdk::Color})). [GitHub#1286][Reported by rubyFeedback] * Added support for (({String})) and (({Symbol})) as (({Gdk::RGBA})). ==== Ruby/GObjectIntrospection * Improvements * Added support for (({GBytes **})). === Thanks * rubyFeedback == Ruby-GNOME 3.4.0: 2019-10-10 This is a bug fix release of 3.3.9. === Changes ==== Ruby/ATK * Fixes * Fixed a typo. [GitHub#1302][Reported by kojix2] === Thanks * kojix2 == Ruby-GNOME 3.3.9: 2019-10-10 This is a full GLib 2.62.0 support release. === Changes ==== Ruby/GLib2 * Improvements * Deprecated (({GLib::Param::PRIVATE})). Use (({GLib::Param::STATIC_NAME})) instead. * Deprecated (({GLib::Param#private?})). Use (({GLib::Param#static_name?})) instead. * Added new flags: * (({GLib::Param::STATIC_NICK})) * (({GLib::Param::STATIC_BLURB})) * (({GLib::Param::EXPLICIT_NOTIFY})) * (({GLib::Param::DEPRECATED})) * Added new predicates: * (({GLib::Param#static_nick?})) * (({GLib::Param#static_blurb?})) * (({GLib::Param#explicit_notify?})) * (({GLib::Param#deprecated?})) * Deprecated (({ruby_gnome2_version})) in `mkmf-gnome`. Use (({ruby_gnome_version})) instead. * Added (({rbgobj_gtype_from_ruby()})). * Added (({rbg_is_object()})). * Added (({rbg_is_value()})). * Added (({rbg_is_bytes()})). * Removed needless const from the return value of (({rbg_rval2strv()})). * Removed needless const from the return value of (({rbg_rval2strv_accept_nil()})). * Added (({rbg_rval2filenamev()})). * Added (({rbg_rval2filenamev_accept_nil()})). * Stopped to define (({GType})) for (({GPollFD})). ==== Ruby/GObjectIntrospection * Improvements * Added support for conversion from (({GLib::Bytes})) to (({[gint8]})) and (({[guint8]})). * Added more information to inspected result. ==== Ruby/GIO2 * Improvements * Added support for GLib 2.62.0 or later. [GitHub#1296][Reported by Mamoru TASAKA] ==== Ruby/GTK3 * Improvements * Added (({Gtk::TreeModelSort.new})). [GitHub#1298][Reported by LutzLue] (({[gint8]})) and (({[guint8]})). ==== Ruby/GStreamer * Improvements * Removed all custom callbacks. * (({Gst::TagList#each})): Changed to yield tag name and tag values. === Thanks * LutzLue * Mamoru TASAKA == Ruby-GNOME 3.3.8: 2019-09-10 This is a partially GLib 2.62.0 support release. === Changes ==== All * Improvements * Changed our project name to Ruby-GNOME from Ruby-GNOME2. [GitHub#1277][Suggested by kojix2] [GitHub#1291][Patch by kojix2] * Stopped to release (({.tar.gz})) because they are no longer used. ==== Ruby/GLib2 * Improvements * (({GLib.convert})): Changed to set correct encoding. * (({GLib::FILENAME_ENCODING})): Added. * Changed to use the same enum object for the same enum value. * (({GLib::Enum.find})): Added. * (({GLib::Bytes#initialize})): Changed to reuse (({String})) data even if the given (({String})) isn't frozen. * (({GLib::Bytes.try_convert})): Added. * (({GLib::Enum.try_convert})): Added. * (({GLib::Flags.try_convert})): Added. * (({GLib::Type.try_convert})): Added. * (({GLib::MkEnums.create})): Added support for flags to enum definition. [GitHub#1295][Patch by Mamoru TASAKA] ==== Ruby/GIO2 * Fixes * Renamed to (({Gio::Icon#hash})) from (({Gio::Icon.hash})). [GitHub#1293][Reported by Erik Czumadewski] ==== Ruby/GObjectIntrospection * Improvements * Introduced (({try_convert})) protocol. ==== Ruby/CairoGObject * Improvements * (({Cairo::Context.try_convert})): Added. * (({Cairo::Device.try_convert})): Added. * (({Cairo::Pattern.try_convert})): Added. * (({Cairo::Surface.try_convert})): Added. * (({Cairo::ScaledFont.try_convert})): Added. * (({Cairo::FontFace.try_convert})): Added. * (({Cairo::FontOptions.try_convert})): Added. * (({Cairo::Region.try_convert})): Added. === Thanks * kojix2 * Erik Czumadewski * Mamoru TASAKA == Ruby-GNOME2 3.3.7: 2019-08-17 This is the bug fix release of 3.3.6. === Changes ==== Ruby/Pango * Improvements * (({Pango::AttrList#each})): Added. * (({Pango::AttrType})): Added support for (({PANGO_ATTR_FONT_DESC})). ==== Ruby/GObjectIntrospection * Improvements * Added support for (({GHashTable})). * Added support for GObject Introspection 1.60.0. ==== Ruby/Pango * Improvements * Added support for Pango 1.44. [GitHub#1288][Reported by Toshiaki Asai] ==== Ruby/GTK3 * Fixes * Fixed document markup. [GitHub#1280][GitHub#1281][GitHub#1282][Patch by İsmail Arılık] ==== Ruby/WNCK3 * Added. [GitHub#1284][Reported by Christopher L. Ramsey] ==== Ruby/libsecret * Added. === Thanks * İsmail Arılık * Christopher L. Ramsey * Toshiaki Asai == Ruby-GNOME2 3.3.6: 2019-03-21 This is a follow-up release of 3.3.5. === Changes ==== Ruby/GIO2 * Improvements * (({Gio::File#read})): Added support for block. * (({Gio::File.open})): Added support for (({Pathname})). * (({Gio::InputStream.open})): Added support for block. ==== Ruby/CairoGObject * Fixes * Fixed a bug that old cairo may be used. ==== Ruby/GObjectIntrospection * Fixes * Fixed a bug that 64bit integer conversion may be failed for large integer. * Fixed typos. == Ruby-GNOME2 3.3.5: 2019-03-10 This is a follow-up release of 3.3.4. === Changes ==== Ruby/GObjectIntrospection * Improvements * Ignored no (({GType})) interface. == Ruby-GNOME2 3.3.4: 2019-03-09 This is a real release to support GLib 2.60. === Changes ==== Ruby/GObjectIntrospection * Improvements * Ignored no (({GType})) interface. == Ruby-GNOME2 3.3.3: 2019-03-09 This is a release to support GLib 2.60. === Changes ==== Ruby/GLib2 * Improvements * Made tests more robust. [GitHub#1272][Reported by Jeremy Bicha] * Required pkg-config 1.3.5 or later. * Added support for GLib 2.60. * Windows: Removed support for static compilation. * Fixes * (({GLib::PollFD#fd=})): Fixed wrong conversion. ==== Ruby/GObjectIntrospection * Improvements * Improved auto (({#==}))/(({#!=})) implementations. They returns (({true}))/(({false})) for invalid argument instead of raising an error. ==== Ruby/GTK2 * Improvements * Made tests more robust. [GitHub#1275][Reported by Jeremy Bicha] ==== Ruby/RSVG2 * Improvements * Made tests more robust. [GitHub#1273][Reported by Mamoru TASAKA] ==== Ruby/Poppler * Improvements * (({Poppler::Document.new(data:)})): Added support for (({Encoding.default_internal})). * (({Poppler::Document.new})): Added support for (({#to_path})) objects as path. === Thanks * Jeremy Bicha * Mamoru TASAKA == Ruby-GNOME2 3.3.2: 2019-02-03 This is a bug fix release of 3.3.1. === Changes ==== Ruby/GObjectIntrospection * Fixed * Fixed wrong nil check. [GitHub#1270][Patch by moveccr] * Fixed a memory leak when module function is used with block. [GitHub#1270][Reported by Izumi Tsutsui] ==== Ruby/GTK3 * Improvements * Add backward compatibility APIs: * (({Gtk::Screen#add_style_provider})) * (({Gtk::Screen#remove_style_provider})) * (({Gtk::StyleContext.add_provider_for_screen})) * (({Gtk::StyleContext#add_provider})) === Thanks * moveccr * Izumi Tsutsui == Ruby-GNOME2 3.3.1: 2019-01-09 This is a release that improves GObject Introspection support. === Changes ==== Ruby/GLib2 * Improvements * (({rbgobj_remove_relative()})): Added support for removing a relative added by (({rbgobj_add_relative()})). * Stopped to use raw (({Hash})) to guard objects from GC. * (({GLib::Idle.remove})): Deprecated. Use (({GLib::Source.remove})) instead. * Fixes * Fixed typos in samples. [GitHub#1267][Patch by kojix2] ==== Ruby/CairoGObject * Improvements * Started to require cairo gem 1.16.2 or later. ==== Ruby/GObjectIntrospection * Improvements * Added support for input object validation. * Added support for callback with module function such as (({Gdk.threads_add_idle})). [GitHub#1256][Reported by xetum] * Added support for converting (({GHash})). * Added support for transfer full (({GHash})). * Added support for freeing array of primitive types. [GitHub#1266][Patch by Yosuke Shiro] * Improved suitable method detection for array and list. * Added support for converting an array of (({GObject})). * Added support for renaming compare operations: * (({not_equal})): (({!=})) * (({less_than})): (({<})) * (({less_than_or_equal})): (({<=})) * (({greater_than})): (({>})) * (({greater_than_or_equal})): (({>=})) ==== Ruby/GdkPixbuf2 * Fixes * Fixed markup. [GitHub#1250][Patch by kojix2] * Fixed a bug that data passed to (({GdkPixbuf::Pixbuf.new(data: array)})) is corrupt by GC. ==== Ruby/Pango * Improvements * (({Pango::Layout#get_pixel_extents})): Added for backward compatibility. * (({Pango::Rectangle#ascent})): Added for backward compatibility. * (({Pango::Rectangle#descent})): Added for backward compatibility. * (({Pango::Rectangle#lbearing})): Added for backward compatibility. * (({Pango::Rectangle#rbearing})): Added for backward compatibility. * (({Pango::Rectangle#left_bearing})): Added. * (({Pango::Rectangle#right_bearing})): Added. ==== Ruby/GTK2 * Fixes * Fixed typos in samples. [GitHub#1268][Patch by kojix2] ==== Ruby/GTK3 * Improvements * Updated sample to work on HiDPI environment. [GitHub#1246][Patch by noanoa07] * Updated samples. [GitHub#1258][GitHub#1259][GitHub#1260][Patch by kojix2] ==== Ruby/RSVG2 * Fixes * Fixed typos. [GitHub#1253][Patch by kojix2] * Removed needless rsvg2 gem dependency for Windows. [GitHub#1261][Reported by noanoa07] ==== Ruby/GEGL * Fixes * Fixed a typo in README. [GitHub#1263][Patch by kojix2] === Thanks * noanoa07 * kojix2 * xetum * Yosuke Shiro == Ruby-GNOME2 3.3.0: 2018-10-31 This is a release for fixing memory leak bugs of cairo-gobject, improving macOS support and adding support for GEGL. We stopped to provide fat gems for Windows. You can use normal gems with MSYS2 packages. === Changes ==== All * Improvements * Windows: Stopped to provide fat gems. You can use normal gems with MSYS2 packages. ==== Ruby/GLib2 * Improvements * Added support for the same constant name and class name for error. * Fixes * Fixed wrong constant values: * (({GLib2::MINLONG})) * (({GLib2::MAXLONG})) * (({GLib2::MAXULONG})) * (({GLib2::MINUINT64})) * (({GLib2::MAXSIZE})) * (({GLib2::MINFLOAT})) * (({GLib2::MINDOUBLE})) [GitHub#1244][Reported by cobodo] ==== Ruby/CairoGObject * Fixes * Fixed a memory leak. [GitHub#1232][Reported by Jean-Christophe Le Lann] * Stopped to increase needless reference. [GitHub#1079][Reported by noanoa07] ==== Ruby/GObjectIntrospection * Improvements * Added support for transfer full output parameter. * Fixes * Fixed a bug that class method closure doesn't work. [GitHub#1245][Reported by kojix2] ==== Ruby/GdkPixbuf2 * Improvements * (({GdkPixbuf::Pixbuf.new})): Added support for auto row stride detection for (({[Integer]})) data. ==== Ruby/Pango * Improvements * Made test more robust. [GitHub#1239][Reported by Michael Hudson-Doyle] ==== Ruby/GTK3 * Improvements * Improved backward compatibility for (({Gtk::ListStore#set_column_types})). [GitHub#1240][Reported by Edward Hennessy] * Fixes * Fixed wrong size used bug on HiDPI. [GitHub#1079][Reported by noanoa07] ==== Ruby/Poppler * Improvements * Added support for Popper 0.70.0. ==== Ruby/GEGL * Improvements * Added. === Thanks * Jean-Christophe Le Lann * Michael Hudson-Doyle * Edward Hennessy * cobodo * kojix2 * noanoa07 == Ruby-GNOME2 3.2.9: 2018-08-08 This is a packaging bug fix release of 3.2.8. === Changes ==== All * Fixes * Fixed wrong gem content. [GitHub#1236][Reported by Izumi Tsutsui] ==== Ruby/GtkSourceView4 * Improvements * Added. === Thanks * Izumi Tsutsui == Ruby-GNOME2 3.2.8: 2018-08-06 This is an installation improvement release of 3.2.7. === Changes ==== All * Improvements * Added support for static gemspec. [Patch by cedlemo] * Added support for msys2_mingw_dependencies. [GitHub#1194] ==== Ruby/GLib2 * Improvements * test: Removed a needless assertion. [GitHub#1235][Patch by Iain Lane] ==== Ruby/GObjectIntrospection * Improvements * Improved setter method detection. [GitHub#1233][Patch by yosuke shiro] * Fixes * Fixed a memory leak for callback method. [GitHub#1230][GitHub#1231][Reported by Izumi Tsutsui] ==== Ruby/GTK3 * Fixes * demo: Fix a crash bug. [GitHub#1193][Reported by kojix2] === Thanks * cedlemo * kojix2 * Izumi Tsutsui * yosuke shiro * Iain Lane == Ruby-GNOME2 3.2.7: 2018-06-07 This is a packaging bug fix release of 3.2.6. === Changes ==== All * Improvements * Added support for using unreleased version with Bundler. [Patch by cedlemo] * Fixes * Fixed a packaging bug that dependencies are missing. == Ruby-GNOME2 3.2.6: 2018-06-06 This is a bug fix release of 3.2.5. === Changes ==== Document * Improvements * Updated project URL. [GitHub#1174][Patch by okkez] ==== All * Improvements * Added support for using unreleased version with Bundler. [Patch by cedlemo] * Windows: Upgraded bundled library versions. ==== Ruby/GLib2 * Improvements * (({GLib::Object.define_signal})): Added. (({GLib::Object.signal_new})) is deprecated. * (({GLib::Object.signal_new})): Changed to accept (({Symbol})) as flags. * (({GLib::Signal})): Migrated to (({TypedData})). * (({GLib::Enum})): Migrated to (({TypedData})). * (({GLib::Flags})): Migrated to (({TypedData})). * (({GLib::Boxed})): Migrated to (({TypedData})). * (({GLib::Param})): Migrated to (({TypedData})). * (({rbgobj_signal_new()})): Added. (({rbgobj_signal_wrap()})) is deprecated. * Dropped GLib < 2.28 support. * (({GLib::Variant.new})): Changed to accept (({String})) as variant type. * (({rbg_variant_type_from_ruby()})): Added. * (({rbg_gc_guard()})): Added. * (({rbg_gc_unguard()})): Added. * Fixes * Fixed a bug that signal created by (({GLib::Object.signal_new})) may be GC-ed. [GitHub#1166][Reported by Izumi Tsutsui] ==== Ruby/GObjectIntrospection * Improvements * (({GObjectIntrospection::Struct})): Migrated to (({TypedData})). * Improved better function detection. * Added heuristic callback data detection. * Added support for getting flags field value. * (({RBGICallbackData})): Hidden details. * (({rb_gi_callback_data_get_metadata()})): Added. * (({rb_gi_callback_data_get_rb_callback()})): Added. * Added (({to_integer})) to (({to_i})) mapping. [GitHub#1191][Patch by yosuke shiro] ==== Ruby/CairoGObject * Improvements * Added (({gtype})) class methods. ==== Ruby/GIO2 * Improvements * (({Gio::MenuItem#set_attribute_value})): Improved argument conversion. Callers don't need to create (({GLib::Variant})). * (({Gio::Settings.new})): Added support for keyword (({Hash})). [GitHub#1187][Patch by cedlemo] ==== Ruby/Pango * Improvements * (({Pango::Attribute})): Migrated to (({GLib::Boxed})). * (({Pango::Rectangle#dup})): Added. * (({rbpango_attribute_from_ruby()})): Added. * Fixes * Fixed a bug that wrong (({Pango::Attribute})) conversion. [GitHub#1188][Reported by kojix2] ==== Ruby/GdkPixbuf2 * Improvements * (({GdkPixbuf::Pixbuf#subpixbuf})): Added. (({GdkPixbuf::Pixbuf#new_subpixbuf})) is deprecated. * (({GdkPixbuf::Pixbuf#new})): Improved the default (({row_stride})) value. ==== Ruby/GDK3 * Improvements * (({Gdk::Cursor.new})): Added multiple calls with the same value. [GitHub#1195][Reported by kojix2] ==== Ruby/GTK3 * Improvements * Removed needless custom callback handlers. * Dropped GTK+ 3.10 support. * (({Gtk::Application.new})): Changed to all arguments are omittable. * (({Gtk::TextBuffer#insert})): Changed to raise an exception for unknown tag. * Fixes * Fixed a bug that (({Gtk::Version.or_later?})) requires the 3rd argument. * Fixed demo. * [GitHub#1175][GitHub#1176][GitHub#1177][GitHub#1178][GitHub#1183] [GitHub#1184][GitHub#1185] [Reported by kojix2] * [GitHub#1181][GitHub#1186][GitHub#1197][GitHub#1210] [Patch by kojix2] ==== Ruby/Poppler * Improvements * (({Cairo::Context#show_poppler_page})): Added for consistency. ==== Ruby/RSVG2 * Improvements * (({Cairo::Context#show_rsvg_handle})): Added for consistency. ==== Ruby/GStreamer * Improvements * (({Gst::Element.[]})): Added as a shortcut of (({Gst::ElementFactory.make})). * (({Gst::Bus#poll})): Made all arguments omittable. === Thanks * Izumi Tsutsui * okkez * kojix2 * cedlemo * yosuke shiro == Ruby-GNOME2 3.2.5: 2018-05-02 This is a bug fix release of 3.2.4. === Changes ==== Document * Fixes * Fixed typos. [GitHub#1158][Patch by kojix2] [GitHub#1160][Patch by kojix2] ==== Ruby/GLib2 * Fixes * Fixed a GC related crash bug. [GitHub#1162][Reported by Izumi Tsutsui] ==== Ruby/GObjectIntrospection * Improvements * Disabled NULL check for GObject Introspection < 1.42. Because GObject Introspection < 1.42 doesn't support "(nullable)" annotation yet. ==== Ruby/GdkPixbuf2 * Improvements * (({GdkPixbuf::Pixbuf#composite})): Suppressed wrong warning. [GitHub#1156][Reported by Chaistrin] [GitHub#1157][Patch by cedlemo] * Fixes * Added a missing white space into message. [GitHub#1155][Reported by Robert A. Heiler] * (({GdkPixbuf::Pixbuf#composite})): Fixed a bug that width and height are ignored. [Patch by cedlemo] ==== Ruby/GTK3 * Improvements * (({Gtk::TextBuffer#initialize})): Accepted "property-name" form. [GitHub#1161][Reported by kojix2] ==== Ruby/Poppler * Improvements * Added a workaround for poppler-glib 0.63 bug. [GitHub#1159][Reported by HIGUCHI Daisuke] === Thanks * Robert A. Heiler * Chaistrin * cedlemo * kojix2 * Izumi Tsutsui * HIGUCHI Daisuke == Ruby-GNOME2 3.2.4: 2018-04-09 This is a bug fix release of 3.2.3. === Changes ==== Ruby/GLib2 * Fixes * Fixed a bug that some constants aren't defined. If a content name is the same constant name at the top level such as (({Gtk::Object})), the constant isn't defined. [GitHub#1154][Debian#894816][mikutter#1199] [Reported by Akira Ouchi][Forwarded by HIGUCHI Daisuke] ==== Ruby/Rsvg2 * Improvements * Windows: Upgraded bundled librsvg to 2.42.3. === Thanks * Akira Ouchi * HIGUCHI Daisuke == Ruby-GNOME2 3.2.3: 2018-04-03 This is a bug fix release of 3.2.2. === Changes ==== Ruby/GObjectIntrospection * Fixes * Fixed a crash bug when (({GLib::Bytes})) is passed as an argument. == Ruby-GNOME2 3.2.2: 2018-04-02 This is a release to support Ruby 2.5 on Windows. === Changes ==== All * Windows: Added Ruby 2.5 support. [GitHub#1148][Reported by Andy Meneely] * Red Hat: Use (({pkgconfig(name)})) style. [GitHub#1117][Patch by Mamoru TASAKA] ==== Ruby/GLib2 * Improvements * (({GLib::Bytes#to_s})): Changed to return a frozen string to reduce data copy. * Migrated to (({TypedData})) from (({Data})). ==== Ruby/GObjectIntrospection * Improvements * Added (({nil})) argument check. * (({GObjectIntrospection::Loader#rubyish_method_name})): Added (({:n_in_args_offset})) option. * Suppressed a needless copy of (({GLib::Bytes})). * Added filename array support. [GitHub#1151][Patch by cedlemo] * Fixes * Fixed a overflow bug on 32bit. [Debian#766020][Reported by Mario Lang] [GitHub#1137][Forwarded by HIGUCHI Daisuke] ==== Ruby/GTK2 * Fixes * Fix the wrong number of arguments. [GitHub#1133][Reported by Mamoru TASAKA] ==== Ruby/GDK3 * Improvements * Ensured loading GDK 3. [GitHub#1126][Patch by cedlemo] * Fixes * (({Gdk::Screen.default})): Fixed a GC related crash. * (({Gtk::Widget#style_context})): Fixed a GC related crash. [GitHub#1149][Reported by Valentin Pelloin] ==== Ruby/GTK3 * Improvements * Added a tool palette demo. [GitHub#1116][Patch by cedlemo] * Added a shortcut demo. [GitHub#1120][Patch by cedlemo] * Updated demo. [Reported by Titouan Teyssier] [GitHub#1139][Patch by Titouan Teyssier] * Updated README. [GitHub#1127][Patch by cedlemo] * Fixes * (({Gtk::Container#add_child(child)})): Made workable again. ==== Ruby/Poppler * Fixes * (({Poppler::Page#thumbnail_size})): Fixed return value. [GitHub:rcairo/rcairo#51][Reported by Mamoru TASAKA] ==== Ruby/Gnumeric * Improvements * Improved .typelib for Gnumeric detection. [GitHub#1118][Reported by cedlemo] === Thanks * cedlemo * Mamoru TASAKA * Titouan Teyssier * Mario Lang * HIGUCHI Daisuke * Andy Meneely * Valentin Pelloin == Ruby-GNOME2 3.2.1: 2017-11-19 This is a memory related bug fix release. === Changes ==== Ruby/GLib2 * Improvements * (({GLib::Bytes#initialize})): Stopped to copy data for frozen (({String})). ==== Ruby/GObjectIntrospection * Fixes * Fixed memory leaks for output parameters. [GitHub#1113][Reported by Will Bryant] ==== Ruby/GIO2 * Improvements * (({Gio::InputStream#read_all})): Made workable. [GitHub#1110][Reported by Paul van Tilburg] * (({Gio::InputStream#read})): If the given size is (({nil})), read until EOF or error. It's compatible with Ruby's IO objects. ==== Ruby/GTK3 * Improvements * Marked top-level windows automatically. [GitHub#1103][Reported by cedlemo] === Thanks * Paul van Tilburg * cedlemo * Will Bryant == Ruby-GNOME2 3.2.0: 2017-11-07 This is a bug fix release for Ruby/Poppler. === Changes ==== Ruby/GLib * Improvements * (({GLib::IOChannel#create_watch})): Supported. [GitHub#1106][Reported by kspt-johs] * (({GLib::IOChannel#create_watch})): Supported. ==== Ruby/GTK3 * Improvements * Added a sample. [GitHub#1109][Patch by cedlemo] ==== Ruby/Poppler * Improvements * (({Poppler#Document#size})): Added again. * (({Poppler#Document#pages})): Added again. * Fixes * Updated dependencies. [GitHub#1107][Reported by OBATA Akio] * (({Poppler#Document#initialize(:data => data)})): Added workaround. It should be fixed in upstream. === Thanks * kspt-johs * OBATA Akio * cedlemo == Ruby-GNOME2 3.1.9: 2017-10-16 This is a release that includes GObject Introspection migrated Ruby/Poppler. === Changes ==== All * Improvements * Added (({Makefile})) existence check before running (({make})). [GitHub#1065][Patch by HIGUCHI Daisuke] * Fixes * Fixed shebang paths. [GitHub#1066][Patch by HIGUCHI Daisuke] ==== Ruby/GLib * Improvements * Windows: Updated required cairo gem dependency. ==== Ruby/GObjectIntrospection * Improvements * (({GObjectIntrospection::Loader.register_object_class_converter})): Added. * Added (({gboolean *})) output support. * Added (({[GBoxed]})) output support. * Added (({[gboolean]})) input support. ==== Ruby/GDK3 * Improvements * (({Gdk::Window#origin})): Ignored garbage return value. ==== Ruby/GTK3 * Improvements * Added more demos. [GitHub#1096][GitHub#1098][GitHub#1099][GitHub#1103] [Patch by cedlemo] * (({Gtk::Container#add_child})): Added. [GitHub#1101][Reported by Robert A. Heiler] * (({Gtk::Container#remove_child})): Added. [GitHub#1101][Reported by Robert A. Heiler] ==== Ruby/Poppler * Improvements * Migrated to GObject Introspection bindings. [Patch by cedlemo] ==== Ruby/WebKit2GTK * Improvements * Reduced fragile test failure. [GitHub#1067][Patch by HIGUCHI Daisuke] * Followed upstream fix for (({webkit_web_view_new_with_related_view})). [GitHub#1095][Reported by Jeremy Bicha] * Relaxed test to support the latest WebKit2GTK+. [GitHub#1095][Reported by Jeremy Bicha] ==== Ruby/Rsvg2 * Improvements * Added document how to install on Heroku. [GitHub#1071][Patch by Ciocanel Razvan] ==== Ruby/VTE3 * Improvements * (({Vte::Regex})): Added. [GitHub#1087][Patch by cedlemo] === Thanks * HIGUCHI Daisuke * cedlemo * Ciocanel Razvan * Jeremy Bicha * Robert A. Heiler == Ruby-GNOME2 3.1.8: 2017-07-15 This is a bug fix release for macOS install. === Changes ==== Ruby/GLib2 * Improvements * Supported (({--enable-debug})) for C++ sources. * Fixes * Fixed auto libffi detection for Homebrew. [GitHub#1058][Reported by Andy Meneely] ==== Ruby/Pango * Improvements * (({Pango::Rectangle#to_a})): Added. ==== Ruby/GObjectIntrospection * Improvements * Supported non-pointer struct field reader. [GitHub#1042][Reported by cedlemo] * Supported (({GHashTable})). ==== Ruby/CairoGObject * Improvements * CentOS 7: Supported auto native package install. ==== Ruby/GDK3 * Improvements * CentOS 7: Supported auto native package install. ==== Ruby/GTK3 * Improvements * Made more demos workable. ==== Ruby/WebKit2GTK * Improvements * Added a sample that uses proxy. ==== Ruby/GtkSourceView3 * Improvements * CentOS 7: Supported auto native package install. === Thanks * cedlemo * Andy Meneely == Ruby-GNOME2 3.1.7: 2017-07-10 === Changes ==== All * Improvements * Windows: Supported running commands in bundled packages. ==== Ruby/GLib * Improvements * (({GLib::Bytes#size})): Added. * (({GLib::Bytes#length})): Added. * (({GLib::Bytes#pointer})): Added. * Made stable glib-mkenums output. [GitHub#1054][Patch by dai] * Supported GError in callback argument. * Windows: Upgraded bundled GLib to 2.52.3. * Windows: Upgraded bundled Libtasn1 to 4.12. ==== Ruby/GObjectIntrospection * Improvements * Supported freeing GSList. * Supported not GObject Introspection based bindings object for receiver. * Supported int16 array output. * Supported uint16 array output. * Supported uint32 array output. * Supported uint64 array output. * Supported float array output. * Supported double array output. * Supported auto (({#inspect})) defining. * Homebrew: Supported Homebrew not installed at /usr/local. ==== Ruby/Pango * Improvements * Supported attribute again. [GItHub#1033][Reported by Mamoru TASAKA] * Supported (({Pango::Scale})) again. [GItHub#1048][Reported by cedlemo] * Added missing backward compatibility constants. * Windows: Upgraded bundled Pango to 1.40.6. ==== Ruby/GDK3 * Improvements * Windows: Upgraded bundled GTK+ to 3.22.16. ==== Ruby/GTK3 * Improvements * Updated demo. [GitHub#1038][GitHub#1039][GitHub#1040][GitHub#1044][GitHub#1045] [GitHub#1046][GitHub#1047][GitHub#1049][GitHub#1050][GitHub#1051] [GitHub#1052] [Patch by cedlemo] * Supported working on environment that has GTK+ 4. [GitHub#1041][Reported by cedlemo] * (({Gtk::TextTag#weight=})) accepts (({Pango::Weight})). * (({Gtk::TextBuffer#insert_markup})) stops to require length. * (({Gtk::TextTag#scale=})) accepts scale name such as (({:x_small})). * Supported (({GLib::Bytes})) as text buffer input. * (({Gtk::CssProvider#load_from_data})) accepts (({GLib::Bytes})). * Fixes * Fixed a crash bug in demo. [GitHub#1036][Reported by Mamoru TASAKA] ==== Ruby/Rsvg2 * Improvements * Added samples again. * Fixes * Added missing Ruby/CairoGObject dependency. [GitHub#1035][Reported by peret] ==== Ruby/Clutter * Improvements * Windows: Built GDK backend again. [GitHub:#1034][Reported by Alanzote] * Windows: Upgraded bundled Clutter to 1.26.2. ==== Ruby/WebKit2GTK * Improvements * Added a sample that saves screenshot. * Supported (({WebKit2Gtk::WebContext.new(ephemeral: true)})). ==== Ruby/GStreamer * Improvements * Windows: Upgraded bundled libsoup to 2.58.1. * Windows: Upgraded bundled GStreamer to 1.12.1. ==== Ruby/GtkSourceView3 * Improvements * Windows: Upgraded bundled GtkSourceView to 3.24.3. ==== Ruby/VTE3 * Improvements * Windows: Upgraded bundled VTE to 0.48.3. === Thanks * Alanzote * peret * cedlemo * Mamoru TASAKA * dai == Ruby-GNOME2 3.1.6: 2017-06-03 === Changes This is a bug fix release for Windows packages. ==== All * Fixes * Added a missing path existence check on Windows. == Ruby-GNOME2 3.1.5: 2017-06-03 === Changes This is a bug fix release for Windows packages. ==== All * Improvements * Supported RubyInstaller2. ==== Ruby/Pango * Improvements * Add backward compatibility APIs: * (({Pango::FontDescription::WEIGHT_*})) * (({Pango::FontDescription::STYLE_*})) == Ruby-GNOME2 3.1.4: 2017-05-30 === Changes This is a release that supports Ruby 2.4 on Windows. ==== All * Improvements * Supported MSYS2. ==== Ruby/GLib2 * Improvements * Added (({GLib::Object#floating?})) for debugging. ==== Ruby/GIO2 * Improvements * Added (({Gio::File.open})). The followings are deprecated. * (({Gio::File.commandline_arg})) * (({Gio::File.path})) * (({Gio::File.uri})) ==== Ruby/GObjectIntrospection * Improvements * Relaxed expected test result for 32bit environment. [GitHub#1026][Reported by Mamoru TASAKA] * Added tests for (({GObjectIntrospection::ConstantInfo})). [GitHub#1027][Patch by cedlemo] * Supported floating "transfer full" GObject. ==== Ruby/GDK3 * Improvements * Supported (({Cairo::Surface#to_pixbuf(options={})})). (({Cairo::Surface#to_pixbuf(src_x, src_y, width, height)})) is deprecated. ==== Ruby/Rsvg2 * Improvements * Migrated to GObject Introspection bindings. * Renamed to (({Rsvg})) from (({RSVG})). (({RSVG})) is still usable but it's deprecated. [GitHub#1030][Patch by cedlemo] * Supported (({Cairo::Context#render_rsvg_handle(handle, :id => ...)})). ==== Ruby/WebKit2GTK * Improvements * (({WebKit3Gtk::WebView#initialize})): Supported (({Hash})) options. [GitHub#1028][Patch by Matijs van Zuijlen] === Thanks * Mamoru TASAKA * cedlemo * Matijs van Zuijlen == Ruby-GNOME2 3.1.3: 2017-04-27 === Changes This is a release that improve backward compatibility for Ruby/Pango. ==== Ruby/Pango * Improvements * Defined constants under (({Pango})) again for backward compatibility. [GitHub#1022][Reported by Andy Meneely] * Defined constants under (({Pango::Layout})) again for backward compatibility. [GitHub#1022][Reported by Andy Meneely] * (({Pango.pixels})): Added again. * (({Pango::AttrShape#data})): Supported again. * Fixes * (({Pango::Layout#text=})): Fixed a bug that wrong bytesize is used for multibyte string. * (({Pango::Layout#markup=})): Fixed a bug that wrong bytesize is used for multibyte string. === Thanks * Andy Meneely == Ruby-GNOME2 3.1.2: 2017-04-26 There is an incompatible change. (({GBytes})) to (({String})) conversion is changed to (({GBytes})) to (({GLib::Bytes})) conversion. You can get (({String})) by (({GLib::Bytes#to_s})). Other incompatible changes are bugs. Please report them to us. === Changes ==== All * Improvements * Supported auto depended package install for GObject Introspection based bindings. ==== Ruby/GLib2 * Improvements * Supported overriding (({alloc_func})) in super class. * Extracted native package installer code as native-package-installer gem. * (({GLib::Bytes})): Added. * Supported pkg-config 1.1.9 or later. * Fixes * Fixed a build error on CentOS 6 and Ubuntu 12.04. They use GLib < 2.34. [GitHub#1012][Reported by Scot] * Fixed a bug that (({GLib::TypePlugin})) can't be included. [GitHub#1019][Patch by Matijs van Zuijlen] ==== Ruby/GIO2 * Fixes * Fixed a path in test. [GitHub#990][Reported by Mamoru TASAKA] ==== Ruby/GObjectIntrospection * Improvements * Supported getting interface, union and boxed type as a field value. * Supported setting an interface as a field. * Supported more struct types. * Supported cairo-gobject types. * Supported outputting an array of interfaces. [GitHub#1006][Reported by cedlemo] * Supported Rubyish method name conversion for (({list_XXX})) methods that return an array. * Supported customizing field reader method name. * Supported auto (({int})) to boolean conversion for field value. * (({GObjectIntrospection::Repository.default})): Added a GC guard. * Supported inputting (({unichar})). * Supported inputting (({gint64})) C array. * Supported inputting (({gint8})) C array. * Added tests for (({GObjectIntrospection::UnionInfo})). [GitHub#1016][Patch by cedlemo] * Stopped auto (({GBytes})) to (({String})) conversion. (({GBytes})) is converted to (({GLib::Bytes})). It's for efficient byte sequence handling in Ruby. It's an incompatible change. You can use (({GLib::Bytes#to_s})) to get (({String})). * Fixes * (({GObjectIntrospection::RepositoryError})): Fixed parent class. * Fixed a typo. [GitHub#1002][Reported by cedlemo] ==== Ruby/ATK * Improvements * Migrated to GObject Introspection bindings. [GitHub#998][Patch by cedlemo] ==== Ruby/CairoGObject * Fixes * Fixed a double free bug. ==== Ruby/Pango * Improvements * Migrated to GObject Introspection bindings. [GitHub#1007][GitHub#1008][GitHub#1009][GitHub#1010] [GitHub#1011][Patch by cedlemo] [GitHub#1013][GitHub#1014][Patch by Detlef Wagner] ==== Ruby/GdkPixbuf2 * Improvements * Supported GdkPixbuf 2.31.6 on CentOS 7 again. ==== Ruby/GDK3 * Improvements * (({Gdk::Event})) and subclasses: Supported again. * Supported old GDK 3 again. * Supported X11 related features. [GitHub#999][Reported by johnlane] ==== Ruby/GTK3 * Improvements * (({Gtk::Widget#click})): Added. * (({Gtk::Widget#send_key})): Added. * (({Gtk::Widget#wait_for_draw})): Added. * (({Gtk::WiAccelGroup.activate})): Added. * Updated samples. [GitHub#1002][GitHub#1003] [Patch by cedlemo] * (({Gtk::IconTheme#choose_icon})): Changed the default flags to (({0})) from (({:generic_fallback})). * (({Gtk::IconTheme#lookup_icon})): Changed the default flags to (({0})) from (({:generic_fallback})). * Supported GTK+ < 3.20 again. * Fixes * Updated signal name in document. [GitHub#995][Patch by Arnaud Meuret] ==== Ruby/ClutterGdk * Fixes * Ensured initializing GDK. [GitHub#1000][Reported by cedlemo] ==== Ruby/GOffice * Improvements * (({GOffice::Version})): Added. === Thanks * Mamoru TASAKA * Arnaud Meuret * cedlemo * johnlane * Scot * Detlef Wagner * Matijs van Zuijlen == Ruby-GNOME2 3.1.1: 2017-01-26 === Changes ==== All * Improvements * Windows: Supported Ruby 2.4. ==== Ruby/GLib2 * Improvements * (({GLib::DateTime})): Added. [GitHub#961][GitHub#965] [Patch by cedlemo] * (({GLib::TimeZone})): Added. [GitHub#963][Patch by cedlemo] * Stopped to show "message", "info" and "debug" level logs by default. You can enable them by (({$DEBUG = true})). [GitHub#981][Reported by PeterWAWood] * Windows: Updated bundled PCRE to 8.40. ==== Ruby/GObjectIntrospection * Improvements * Supported outputting (({guint8})) array. * Supported converting (({equal})) method to (({==})) method. * Supported auto (({Enumerable})) inclusion for classes and modules that have (({each})) method. ==== Ruby/GIO2 * Improvements * (({Gio::Settings#initialize})): Added backward compatible API again. * Fixes * Supported GIO 2.38 or earlier again. ==== Ruby/Pango * Fixes * (({Pango::LayoutLine#x_to_index})): Fixed a crash bug. * Windows: Updated bundled HarfBuzz to 1.4.1. * Windows: Updated bundled ICU to 58.2. ==== Ruby/GdkPixbuf2 * Improvements * (({GdkPixbuf::Pixbuf#save_to_buffer})): Supported again but it's deprecated. Use (({GdkPixbuf::Pixbuf#save})) instead. * Windows: Updated bundled gdk-pixbuf to 2.36.4. ==== Ruby/GDK3 * Improvements * Windows: Updated bundled GTK+ to 3.22.7. ==== Ruby/GTK3 * Improvements * (({Gtk::TreeViewColumn#initialize})): Supported option Hash. [GitHub#958][Patch by Detlef Wagner] * Updated samples. [Patch by cedlemo] * (({Gtk::Dialog#get_widget_for_response_id})): Supported (({Symbol})) as response ID. [GitHub#978][Patch by Detlef Wagner] * (({Gtk::Container#add})): Changed to return (({self})) again. * Windows: u ==== Ruby/Poppler * Fixes * (({Poppler::IndexIter})): Fixed a crash bug. * (({Poppler::IndexIter#child})): Added a missing (({NULL})) check. * Fixed types of action classes. They must be (({GLib::Boxed})). ==== Ruby/GStreamer * Improvements * Windows: Updated bundled GStreamer to 1.10.2. ==== Ruby/ClutterGStreamer * Improvements * Windows: Updated bundled Clutter-GStreamer to 3.0.22. ==== Ruby/GtkSourceView3 * Improvements * Windows: Updated bundled GtkSourceView to 3.22.2. ==== Ruby/GSF * Improvements * Windows: Updated bundled GSF to 1.14.41. === Thanks * Detlef Wagner * cedlemo * PeterWAWood == Ruby-GNOME2 3.1.0: 2016-11-13 === Changes ==== All * Improvements * update README. [Patch by cedlemo] * fix format in README. * use pthread version of MinGW in build-windows.sh. * improve main Rakefile. * windows : update bundled versions. * Fixes * fix path in gem:windows:push in main Rakefile. * fix markup in NEWS file. * use Win32 thread again in build-windows.sh. * libmount is required for GLib on Linux. * install libgtk-3-dev explicitly. ==== Ruby/GIO2 * Improvements * make (({Gio::SettingsSchemaSource#list_schemas})) Rubyish. * make (({Gio::Settings#set_value})) Rubyish. * support array like API for (({Gio::Settings})). * (({Gio::ActionMap#add_action})) accepts :state * simplify, load (({Gio::File})) with GObject-Introspection loader. * simplify (({Gio::ContentType})) implementation. * Fixes * add missing required argument in test-settings-schema-source.rb. * add version check in Gio tests. * increase required version. * fix typo in action-map.rb. [Path by cedlemo] ==== Ruby/GLIB2 * Improvements * New implementation of GRClosure with new APIS: * RGClosureCallData * RGClosureCallFunc * rbgobj_set_signal_call_func() * rbgobj_get_signal_call_func() * g_rclosure_new_call() * support exit_application error message when no backtrace. * improve rbg_scan_options() performance * show all backtrace on GLib log. [GitHub#935][Suggested by Matijs van Zuijlen] * Fixes * windows: * Fix indent in windows-binary-build-task.rb. * Export glib2_binary_base_dir. * Remove needless "windows_" in methods name in windows-binary-build-task.rb. * add a debug argument for make command. * add GNOME2::Rake::WindowsBinaryBuildTask#binary_base_dir * fix a bug that SIGUSR1 breaks main loop. [GitHub#933][Reported by Vegard Sandengen] * fix error messages typo [Patch by dai-vr] * fix typo in rbgutil.c. [Patch by Kazuhiro NISHIYAMA] * fix style in rbglib_messages.c * remove needless check in rbglib_messages.c and extconf.rb ==== Ruby/GStreamer * Improvements * Fixes * fix text_color_example.rb demo. [Patch by cedlemo] ==== Ruby/GObjectIntrospection * Improvements * support GVariant string array to Ruby [Patch by Konstantinos Natsakis] * use g_variant_iter_init () to reduce dynamic memory allocation * support omitting allow-null arguments in middle of arguments * improve performance in callable-info.rb. * reduce needless method calls. * simplify invoke arguments in rb-gi-method-info.c, it improves performance. * support "can_be_" as predicate prefix. * improve performance calling a method. It catches data from info. * add GI.load shortcut for fast load. * Fixes * use short for 16bit Integer. * accept Array of numbers for gint8/guint8 array * wrong condition in function info arguments management. * use suitable type macros in ruby to C code from rb-gi-argument.c. * assign temporary Ruby object to local variable to guard from GC. * fix name conflict in rb-gi-argument.c. [Reported by kitone] * touch unrefed object in rb-gi-argument.c. * support array of UTF-8. * fill from last omitted arguments in function arguments loader. * add a missing all required case check in function arguments loader. * use rbg_variant_to_ruby in rb-gi-argument.c. * define unlock_gvl as info method. * fix typo in rb-gi-function-info.c. * don't fill missing arguments when given N arguments is less. * sink created GObject based object by default. * fix wrong default argument fill condition. * fix limit when loading arguments infos. [GitHub#895][Reported by cedlemo] * fix libffi return value handling. [GitHub#758][Reported by Mamoru TASAKA] * do not try to run a gtk demo when the user provide a bad demo name. [Patch by cedlemo] * focus on the related line in the TreeView when running demo from command line. [Patch by cedlemo] * do nothing for void type return type. [GitHub#952][Reported by cedlemo] * return value is return type is void but pointer. * windows : update patch support-external-g-ir-scanner.diff. ==== Ruby/GDK * Improvements * make (({Gdk::EventFocus#in})) rubyish. * add init hook as Gdk.on_init * Fixes * backport a patch to fix build error. ==== Ruby/GdkPixbuf2 * Improvements * support loading from file. * Fixes * fix dependency in Rakefile. [GitHub#862][Reported by Mamoru TASAKA] * add missing gio2 dependency in tests. * add missing variable in tests. * omit a test that failed by float error on i386 [GitHub#898][Reported by Mamoru TASAKA] ==== Ruby/GTK3 * Improvements * support for (({Gtk::SpinButton::input})) signal. [GitHub#855][Reported cedlemo] * new gtk demo spinbutton. [Patch by cedlemo] * add demo search_entry.rb [Patch by cedlemo] * update gtk demos to use class form instead of module form. [Patches by cedlemo] * add listbox gtk demo. [Patch by cedlemo] * update editable_cells demo. [Patch by cedlemo] * add glarea demo. [Patch by cedlemo] * update transparent demo. [Patch by Arjun Menon] * update theming_style_classes demo. [Patch by Arjun Menon] * update textscroll demo. [Patch by Arjun Menon] * update stack demo. [Patch by Arjun Menon] * update spinbutton demo. [Patch by Arjun Menon] * create (({Gtk::TreeModel#create_filter})) as an alias of #filter_new. * Fixes * load demos as classes instead of modules in main.rb. [Patch by cedlemo] * enable Gtk::Rc deprecation. * fix treemodelfilter sample issue. * force LC_NUMERIC to C when gtk3 is initialized. [Patch by cedlemo] ==== Ruby/WebKitGTK * Improvements * Fixes * windows : * update dependencies in Rakefile and patches. * use Ubuntu 16.04 as build environment. * install jsmin ==== Ruby/WebKit2GTK * Improvements * Fixes * windows : * update Rakefile and patches. * support auto latest version detection. ==== Ruby/ClutterGdk * Improvements * Fixes * add init hook as Clutter.on_init. * add Clutter and Gdk integration API. ==== Ruby/ClutterGtk * Improvements * add clutter-gdk dependency. * Fixes * window-test.rb sample : use icons only included in the default theme. * remove needless pack method usage in test.rb sample. * follow improved API in event.rb sample. ==== Ruby/ClutterGdk * Improvements * create a GObject-Introspection loader. [Patch by cedlemo] * Fixes * update description in README and in Rakefile. * remove needless code in Rakefile. * remove needless code in GObject-Introspection loader. ClutterGdk is part of Clutter. ==== Ruby/GStreamer * Improvements * add (({Gst::Bin#each})). [GitHub#927][Reported by cedlemo] * add only_gstreamer_version method. * Fixes * use post_load in order to use require_libraries. ==== Ruby/Pango * Fixes * pango windows: remove needless patch. ==== Thanks * Arjun Menon * cedlemo * dai-vr * Kazuhiro NISHIYAMA * kitone * Konstantinos Natsakis * Mamoru TASAKA * Matijs van Zuijlen * Vegard Sandengen == Ruby-GNOME2 3.0.9: 2016-08-12 === Changes ==== All * Update Realease date in NEWS. * Use the latest Rubies. * Readme: update ruby versions supported. [Patch by cedlemo] * travis: install experimental gems dependent packages for GSF and GOffice. [patch by Hiroshi Hatake] * add GSF, GOffice and Gnumeric in the main Rakefile. [patch by cedlemo] * ignore no-GI version of gdk_pixbuf2 in main run-test.rb and in the main extconf.rb. * remove conditionnal macro based on HAVE_RUBY_ENCODING_H. * clean code in main Rakefile. * define top level windows:version:update in main Rakefile. ==== Ruby/GIO2 * Improvements * Fixes * remove needless lazy initialization. * follow GI API improvement. ==== Ruby/GLIB2 * Improvements * support for GLib 2.30 on CentOS 6. [ruby-list:50310][5.5] [ruby-list:50316][5.5] * add GLib 2.30 check. * add GLib 2.34 check. * support customizing signal callback. * support (({GObject#bind_property_full})). [patch by cedlemo] * clean code and style issue. * fix GC bug that alive proc may be GC-ed. * Fixes * windows: improve rake. * split g-ir-compiler args. * add debug option as comment. * fix wrong define location. * use predicate style. * fix wrong function in rbglib-variant.c. * bump version. * use SPDX format for license. * homebrew: * add workaround for libffi.pc isn't found on OS X. * enable libffi workaround for gi. * remove checks for old Ruby. * Ruby 2.1 or later has (({rb_str_new_cstr})). * set UTF-8 encoding to (({GLIB.XXX_to_utf8})) return value. * remove unused variables in rbglib_convert.c. [patch by cedlemo] * support Ruby 2.4 Integer unification. [patch Hiroshi Hatake] * gnome2 rake add windows:version:update task. * gnome2 rake reduce too much update. * gnome2 rake accept the latest version isn't found case. * gnome2 rake ignore development series. * windows: update dependencies. * support :freedesktop download site. * support :freedesktop_gstreamer download site. * ignore development version in :freedesktop_gstreamer. ==== Ruby/GStreamer * Improvements * Fixes * windows: improve rake file. * update patches. * follow file name change. * specify x86_64 as arch for 64bit Windows. * stop splitting g-ir-compiler args by default. * fix typo. * windows: update dependencies. * use :freedesktop_gstreamer download_site. * update external packages. ==== Ruby/Poppler * Improvements * Fixes * windows: improve rake file. * use https. * add missing Makefile existence check. * segmentation fault in (({Poppler::Page#text_layout})). [patch by YAMAMOTO Masayuki] * use (({GdkPixbuf::Pixbuf})) form in sample files. [patch by cedlemo] * remove needless gdk_pixbuf2 build dependency. * add missing make file existence check in run-test.rb. ==== Ruby/GObjectIntrospection * Improvements * support dispatching by Flags and Enums. [GitHub#745][Reported by Mamoru TASAKA] * cache results of methods of (({GI::CallableInfo})). [GitHub#749][Reported by rafagf1] * cache collection reader result. [GitHub#749][Reported by rafagf1] * reduce needless function call. [GitHub#749][Reported by rafagf1] * cache (({GI::AgInfo#gclosure?})). * add (({GI::Loader#rubyish_class_name})). [patch by cedlemo] * accept on_XXX as predicate method name. * support gslist of structure values as return value. [patch by cedlemo] * make constant name easy to customize. * Fixes * fix a typo in loader.rb. * fix a bug that int32[] returns wrong values. [GitHub#758][reported by TASAKA] * don't return array length output argument for return value. * windows: update dependencies. ==== Ruby/GDK3 * Improvements * Fixes * windows: * support symbolic icons. [GitHub#750][Abby Archer] * use (({GdkPixbuf::Pixbuf})) form in gdk3 library and test files. [patch by cedlemo] * Rake file update GTK+ version. ==== Ruby/GTK3 * Improvements * update gtk-demo textscroll. [patch by cedlemo] * update gtk-demo data files to Gtk 3.20. [patch by cedlemo] * cache (({Gtk::TreeModel#get_column_type})). [GitHub#749][Reported by rafagf1] * update gtk-demo main.rb to Gtk 3.20. [patch by cedlemo] * update theming_style_classes gtk demo to 3.20. [patch by cedlemo] * update assistant gtk demo to 3.20. [patch by cedlemo] * update css related gtk demos to 3.20. [patch by cedlemo] * update markup gtk demo to 3.20. [patch by cedlemo] * update font-features demo to 3.20. [patch by cedlemo] * make (({Gtk::TreeView#expand_row})) rubyish. * support "row-collapsed" and "row-expanded" signals for (({Gtk::TreeView})). [GitHub#762][Reported Eric Cunningham] * update misc sample bindings.rb to Gtk 3.20. [patch by cedlemo] * update rotated text gtk demo. [patch by cedlemo] * update pixbufs gtk demo. [patch by cedlemo] * hide "found" return value from (({Gtk::TextView#get_iter_at_XXX})). [GitHub#794][Reported by Miguel Hernández] * add (({Gtk::TextView#get_iter_at})) * Fixes * guard text marks from GC. [GitHub#743][Reported by cedlemo] * fix a bug that GC-ed (({Gtk::TextTag})) may be reused. * relax condition in test for (({Gtk::ListStore})). * use GTK+ version check in test for (({Gtk::Image})). * fix issue in the gtk3 tutorial. [patch from Renich Bon Ciric] * follow (({Gtk::TextBuffer#select_bounds})) API change. [GitHub#794][Reported by Miguel Hernandez] * (({Gtk::TextView#get_iter_at*})) return nil when not found. [GitHub#794][Reported by Miguel Hernandez] * fix typo at gtk-demo. [patch by tSU_RooT] * use (({GdkPixbuf::Pixbuf})) form in gtk-demo files. [patch by cedlemo] * use (({GdkPixbuf::Pixbuf})) form in sample misc files. [patch by cedlemo] * use (({GdkPixbuf::Pixbuf})) form in test files. [patch by cedlemo] * gtk3 sample: follow (({Gtk::TextBuffer#select_bounds})) API change. [GitHub#794][Reported by Miguel Hernández] * (({Gtk::TextView#get_iter_at*})) return nil when not found. [GitHub#794][Reported by Miguel Hernández] * fix wrong method used in order to set window size in tutorial samples. [patch by Renich Bon Ciric] * fix label in (({#Gtk::TextView})) tests. * fix typo at gtk-demo. [patch by tSU_RooT] * update all samples, tests, demo, tutorial to use (({GdkPixbuf#Pixbuf})). [patch by cedlemo] * add gtk3 demo transparent.rb. [patch by cedlemo] * update sample with (({Gtk::SeclectionData})) API changes. [patch by cedlemo] * lib and tests follow GI API improvement. * test omit on old GTK+. * require more newer GTK+ version for (({Gtk::TextView})) test. ==== Ruby/Pango * Improvements * add tests for (({Pango::Context})). [patch by cedlemo] * improve tests for (({Pango::Context})). * implement (({Pango::Context#set_chape_renderer})). * add (({Pango::AttrShape#data})). [GitHub#766][Reported by cedlemo] * Fixes * fix error with MACRO usage in rbpangoattrlist.c. [patch by cedlemo] * fix a bug that (({Pango#GlyphGeometry#geometry=})) does nothing. * fix GC related problem in rbpangocontext.c. * windows: update external packages. ==== Ruby/GSF * Improvements * start GSF module. [patch by cedlemo] * Fixes * follow GI API improvement. * windows: fix external package name. * windows: update external packages. ==== Ruby/GOffice * Improvements * start GOffice module. [patch by cedlemo] * support version. * Fixes * add tests for GOffice. * use (({GI::Loader#rubyish_class_nme})) in loader.rb. [patch by cedlemo] * add rules in order to fix issues when building objects. [patch by cedlemo] * add availability check in tests. * fix condition issue in test. * make some tests omitted when run by Travis CI. * windows: update external packages. ==== Ruby/Gnumeric * Improvements * start Gnumeric module. [patch by cedlemo] * Fixes * add missing dependency in run-test.rb. * use (({GI::Loader#rubyish_class_nme})) in loader.rb. [patch by cedlemo] * add rules in order to fix issues when building objects. [patch by cedlemo] * travis : add gnumeric as package to install instead of relying on dep. [patch by cedlemo] * improve renaming rules for C structures to ruby Class in GI loader. [patch by cedlemo] * add rules in order to avoid 2 objects information beeing reloaded. [patch by cedlemo] * windows: fix external package version. ==== Ruby/GdkPixbuf2 * Improvements * replace C implementation with one based on GObject-Introspection. [patch by cedlemo] * implement backward compatibility for (({GdkPixbuf::Pixbuf.new})). [patch by cedlemo] * add rubyish methods. * add (({GdkPixbuf::Pixbuf#composite!})). * implement rubyish methods: * (({GdkPixbuf#dup})) * (({GdkPixbuf#fill!})) * (({GdkPixbuf#rotate})) * (({GdkPixbuf#saturate_and_pixelate})) * (({GdkPixbuf#save})) * (({GdkPixbuf#scale})) * (({GdkPixbuf#scale!})) * support version information. * support options in (({GdkPixbuf::Pixbuf#composite})) and (({GdkPixbuf::Pixbuf#composite!})). * Fixes * remove needless lazy initialization. * improve tests. * add deprecated message for backward compatibility. * add tests for (({GdkPixbuf::Pixbuf#new})). [patch by cedlemo] * add tests for (({GdkPixbuf::Pixbuf#dup})) and (({GdkPixbuf::Pixbuf#fill!})). [patch by cedlemo] * ignore no-gi version of gdk_pixbuf2 in run-test.rb and extconf.rb. * add tests for (({GdkPixbuf::Pixbuf#rotate})) and (({GdkPixbuf::Pixbuf#new})). [patch by cedlemo] * update and fix issues in the samples. [patch by cedlemo] * improve gdk_pixbuf2 libs and tests style, and add missing copyright header. * add missing GObjectIntrospection dependency in tests. * add backward compatibility between the old Gdk::Pixbuf and GdkPixbuf::Pixbuf. * supports running on different directory for gdk_pixbuf2 samples. * add (({PixbufLoader#last_write})). * add tests for (({GdkPixbuf#new})). [patch by cedlemo] * add tests for (({GdkPixbuf#new})) with :file and :scale parameters. [patch by cedlemo] * add tests for (({GdkPixbuf#new})) from subpixbuf. [patch by cedlemo] * add backward compatibily for (({GdkPixbuf::Pixbuf#new})) and (({GdkPixbuf::Pixbuf#new_subpixbuf})). * simplify and improve tests. * use warn and raise instead of puts messages. * add test for (({GdkPixbuf::Pixbuf#dup})). [patch by cedlemo] * add test for (({GdkPixbuf::Pixbuf#new})) from data. [patch by cedlemo] * add test for (({GdkPixbuf::Pixbuf#fill!})). [patch by cedlemo] * clean (({GdkPixbuf::Pixbuf#fill!})) tests. * add test for (({GdkPixbuf::Pixbuf#new})) from bytes. [patch by cedlemo] * clean (({GdkPixbuf::Pixbuf#new})) tests. * add (({GdkPixbuf::Pixbuf#rotate})) tests. [patch by cedlemo] * clean (({GdkPixbuf::Pixbuf#rotate})) tests. * add (({GdkPixbuf#new})) from resource test. [patch by cedlemo] * add (({GdkPixbuf::Pixbuf#new})) from resource at scale tests. [patch by cedlemo] * clean (({GdkPixbuf::Pixbuf#new})) tests. * update sample with the GdkPixbuf::Pixbuf form. * add deprecated hook for (({GdkPixbuf::PixbufFormat#signature})). * add tests for (({GdkPixbuf::Pixbuf#saturate_and_pixelate})). [patch by cedlemo] * keep backward compatibility for (({Gdk::PixbufError})). ==== Ruby/VTE3 * Improvements * Fixes * remove needless lazy load. * windows: update external package. ==== Ruby/GTK2 * Improvements * Fixes * use (({GdkPixbuf::Pixbuf})) form in library, test and sample files. [patch by cedlemo] ==== Ruby/RSVG2 * Improvements * Fixes * use (({GdkPixbuf::Pixbuf})) form in library, test and sample files. [patch by cedlemo] * windows: update external packages. ==== Ruby/Clutter * Improvements * Fixes * use (({GdkPixbuf::Pixbuf})) form in library, test and sample files. [patch by cedlemo] * windows update version. ==== Ruby/ClutterGtk * Improvements * Fixes * use (({GdkPixbuf::Pixbuf})) form in library, test and sample files. [patch by cedlemo] * Fix issue with initialization of (({Gtk::IconView})) without hash argument. [patch by cedlemo] ==== Ruby/ClutterGstreamer * Improvements * Fixes * add missing gdk_pixbuf2 dependency in tests. ==== Ruby/GtkSourceView3 * Improvements * Fixes * windows: update dependencies. ==== Ruby/GSF * Added. ==== Ruby/GOffice * Added. ==== Ruby/Gnumeric * Added. ==== Thanks * Mamoru TASAKA * rafagf1 * 5.5 * Abby Archer * Eric Cunningham * Hiroshi Hatake * Renich Bon Ciric * Miguel Hernández * tSU_RooT * YAMAMOTO Masayuki * cedlemo == Ruby-GNOME2 3.0.8: 2016-04-03 It's a release that improves GTK+ 3 support. === Changes ==== All * Droped Ruby 2.0.0 support. * Travis: use Trusty beta image. [Patch by Hiroshi Hatake] * Added AltLinux to supported OSes. [Patch by Malo Skrylevo] ==== Ruby/GLib2 * Improvements * Added (({RVAL2CSTR_PTR_ACCEPT_NIL})). * Added (({RVAL2CSTR_RAW})). * Added (({RVAL2CSTR_RAW_ACCEPT_NIL})). * Supported (({GLib::Variant.new(value, type)})). * Added (({GLib::Regex})) class. [Patch by cedlemo] * Supported more variant types in (({rbg_variant_to_ruby})). [Patch by Aurélien Jacobs] * Supported array in (({rg_ruby_to_variant})). [Patch by Aurélien Jacobs] * Added (({GLib::Regex#split})). [Patch by cedlemo] * Added (({GLib::Regex#match})). [Patch by cedlemo] * Added (({GLib::MatchInfo})) class. [Patch by cedlemo] * Added (({GLib::Regex#max_backref})). [Patch by cedlemo] * Added (({GLib::Regex#capture_count})). [Patch by cedlemo] * Added (({GLib::Regex#has_cr_or_lf?})). [Patch by cedlemo] * Added (({GLib::Regex#max_lookbehind})). [Patch by cedlemo] * Added (({GLib::Regex#string_number})). [Patch by cedlemo] * Added (({GLib::Regex.escape_string})). [Patch by cedlemo] * Added (({GLib::Regex#match?})). [Patch by cedlemo] * Added (({GLib::Regex#match_all})). [Patch by cedlemo] * Added (({GLib::Regex#split})). [Patch by cedlemo] * Added (({GLib::Regex#replace})). [Patch by cedlemo] * Added (({GLib::Regex#check_replacement})). [Patch by cedlemo] * Added (({GLib::Regex#replace_eval})). [Patch by cedlemo] * Added (({GLib::MatchInfo#partial_match})). [Patch by cedlemo] * Added (({GLib::MatchInfo#fetch})). [Patch by cedlemo] * Added (({GLib::MatchInfo#[]})). * Added (({GLib::MatchInfo#fetch_pos})). [Patch by cedlemo] * Added (({GLib::MatchInfo#fetch_position})). * Added (({GLib::MatchInfo#fetch_all})). [Patch by cedlemo] * Added (({GLib::MatchInfo#next})). [Patch by cedlemo] * Fixes * Fixed a bug that raw string is converted to UTF-8. * Fixed handling of 64 bits (({FIXNUM})) variant initialization. ==== Ruby/GObjectIntrospection * Improvements * Supported allocated output parameter. * Supported dynamic callback. * Supported enum as output value. * Added function type name in error message. * Added (({RB_ZALLOC})). * Supported freeing GType-ed union. [GitHub#700][Reported by cedlemo] * Added (({GI::Repository#get_version})). * Fixes * Fixed a bug that block is always ignored in singleton method. [ruby-gnome2-devel-ja][Reported by Yuuki Harano] ==== Ruby/GIO2 * Improvements * Supported (({Gio::Application.new(:arguments => [...]})). [GitHub#519][Reported by Mamoru TASAKA] * Started to use dynamic callback. ==== Ruby/GTK3 * Improvements * Supported (({Gtk::Clipboard#request_text})). [ruby-gnome2-devel-en][Reported by Detlef Reichl] * Supported (({Gtk::Clipboard#request_contents})). * Supported (({Gtk::Clipboard#request_image})). * Supported (({Gtk::Clipboard#request_targets})). * Supported (({Gtk::Clipboard#request_rich_text})). * Supported (({Gtk::Clipboard#request_uris})). * Updated main demo application. [Patch by cedlemo] * Updated and finished sample tutorial. [Patch by cedlemo] * Supported (({Gtk::TreeModel#set_sort_func})). [GitHub#596][Reported by Christopher L. Ramsey] * Supported (({Gtk::Box#set_child_packing})). [GitHub#602][Reported by Ibrahim Tencer] * Updated stack demo. [Patch by cedlemo] * Added scale demo. [Patch by cedlemo] * Updated theming style classes demo. [Patch by cedlemo] * Created entry buffer demo. [Patch by cedlemo] * Made (({Gtk::EntryBuffer#new more rubyish})). [Patch by cedlemo] * Added markup demo. [Patch by cedlemo] * Added headerbar demo. [Patch by cedlemo] * Updated css accordion demo. [Patch by cedlemo] * Added pickers demo. [Patch by cedlemo] * Updated links demo. [Patch by cedlemo] * Added overlay demo. [Patch by cedlemo] * Added textmask demo. [Patch by cedlemo] * Added sidebar demo. [Patch by cedlemo] * Updated spinner demo. [Patch by cedlemo] * Updated entry completion demo. [Patch by cedlemo] * Added revealer demo. [Patch by cedlemo] * Updated expander demo. [Patch by cedlemo] * Added overlay2 demo. [Patch by cedlemo] * Updated colorsel demo. [Patch by cedlemo] * (({rbgobj_gc_mark_instance})) has to be called for the (({Gtk::TreeSelection})). [Patch by Hiroyuki Ito] * Updated css basics demo. [Patch by cedlemo] * Made (({Gtk::TreeModel#iter_nth_child})) and (({Gtk::TreeModel#iter_children})) work like (({#get_value})). * Added methods to Gtk::TreeIter: * (({Gtk::TreeIter#previous!})) * (({Gtk::TreeIter#has_child?})) * (({Gtk::TreeIter#n_children})) * (({Gtk::TreeIter#nth_child})) * (({Gtk::TreeIter#children})). [Patch by Hiroyuki Ito] * Added support for (({Gtk::TreeSelection})). [Patch by dutchhome] * Updated builder demo. [Patch by cedlemo] * Updated css pixbufs demo. [Patch by cedlemo] * Updated button box demo. [Patch by cedlemo] * Created css shadows demo. [Patch by cedlemo] * Updated infobar demo. [Patch by cedlemo] * Added support for MenuPositionFunc in (({Gtk::Menu#popup})). [GitHub#61][Reported by Abby Archer] * Made (({Gtk::Widget#translate_coordinates})) more rubyish. [Patch by cedlemo] * Added support for (({EntryCompletionMatchFunc})). [Patch by Hiroyuki Ito] * Updated iconview edit demo. [Patch by cedlemo] * Updated sizegroup demo. [Patch by cedlemo] * Updated cursors demo. [Patch by cedlemo] * Made (({Gtk::MenuItem#new})) like (({Gtk::CheckMenuItem#new})). [Patch by Hiroyuki Ito] * Move the (({#set_values})) implementation to (({Gtk::TreeModel})) instead of (({Gtk::ListStore})). [GitHub#659][Reported by detlef] * Updated search entry2 demo. [Patch by cedlemo] * Updated menus demo. [Patch by cedlemo] * Updated css multiplebgs demo. [Patch by cedlemo] * Added auto generated callback for AssistantPageFunc. * Added auto generated callback for BuilderConnectFunc. * Updated model button demo. [Patch by cedlemo] * Updated dialog demo. [Patch by cedlemo] * Added another example sample for (({Gtk::TreeStore})). [Patch by cedlemo] * Added the methods: * (({Gtk::TreePath#next!})) * (({Gtk::TreePath#prev!})) * (({Gtk::TreePath#up!})) * (({Gtk::TreePath#down!})). [Patch by cedlemo] * Added (({Gtk::TreeIter#first_child})). [Patch by cedlemo] * Updated filtermodel demo. [Patch by cedlemo] * Updated popover demo. [Patch by cedlemo] * Supported (({Gtk::Builder#connect_signals})). * Added new sample icons-theme-viewer.rb. [Patch by cedlemo] * Added new sample menus_from_resources.rb. [Patch by cedlemo] * Updated printing demo. [Patch by cedlemo] * Updated assistant demo. [Patch by cedlemo] * Updated panes demo. [Patch by cedlemo] * Updated font features demo. [Patch by cedlemo] * Fixes: * Fixed a bug that (({Gtk::Widget.set_connect_func})) doesn't work. [GitHub#703][Reported by cedlemo] ==== Ruby/Poppler * Improvements: * Removed needless (({POPPLER_TYPE_ORIENTATION})) binding. [GiHub#653][Reported by Rob Brackett] ==== Ruby/WebKit2GTK * Improvements: * Supported old WebKit2GTK+. === Thanks * Detlef Reichl * Mamoru TASAKA * cedlemo * Christopher L. Ramsey * Hiroyuki Ito * dutchhome Jon Raiford * Rob Brackett * Abby Archer * Yuuki Harano * detlef * Aurélien Jacobs * Hiroshi Hatake * Malo Skrylevo == Ruby-GNOME2 3.0.7: 2015-10-06 It is a bug fix release of 3.0.6. === Changes ==== Ruby/GLib2 * Fixes * Fixed a bug that `xxx_yyy` enum name isn't accepted. [ruby-gnome2-devel-en][Reported by Detlef Reichl] * Fixed a bug that internal Ruby API is used. [ruby-gnome2-devel-en][Reported by Detlef Reichl] ==== Ruby/GTK3 * Improvements * Added backward compatibility API to (({Gtk::TreeView#insert_column})). [ruby-gnome2-devel-en][Reported by Detlef Reichl] === Thanks * Detlef Reichl == Ruby-GNOME2 3.0.6: 2015-10-04 It is a bug fix release of 3.0.5. === Changes ==== Ruby/GLib2 * Improvements * Supported (({GLib.format_size})) on 32bit. [GitHub#565][Reported by Mamoru TASAKA] * Supported (({GLib.format_size_for_display})) on 32bit. [GitHub#565][Reported by Mamoru TASAKA] * Added (({GLib::Version.or_later?})). [GitHub#570][Patch by cedlemo] ==== Ruby/GObjectIntrospection * Improvements * Added (({GObjectIntrospection::Version.or_later?})). [GitHub#572][Patch by cedlemo] * Supported (({GSList})) for filename. [ruby-gnome2-devel-en][Reported by Stefan Salewski] ==== Ruby/GIO2 * Improvements * Added (({Gio::Version.or_later?})). [GitHub#571][Patch by cedlemo] * Made (({Gio::APplicationCommandLine#attributes})) Rubyish. ==== Ruby/Pango * Improvements * Added (({Pango::Version.or_later?})). [GitHub#576][Patch by cedlemo] ==== Ruby/GTK2 * Improvements * Added (({Gtk::Version.or_later?})). [GitHub#574][Patch by cedlemo] ==== Ruby/GTK3 * Improvements * Supported (({Gtk::CellLayout#set_cell_data_func})). [ruby-gnome2-devel-en][Reported by Stefan Salewski] * Supported (({Gtk::Container#add})) with child properties. [ruby-gnome2-devel-en][Reported by Stefan Salewski] * Added (({Gtk::StockItem#[]})) for backward compatibility. [ruby-gnome2-devel-en][Reported by Stefan Salewski] * Added (({Gtk::IconSize::IconSize})) for backward compatibility. [ruby-gnome2-devel-en][Reported by Stefan Salewski] * Supported marking cell renderers in (({Gtk::CellLayout})) for GC. [ruby-gnome2-devel-en][Reported by Stefan Salewski] * Supported (({nil})) for (({Gtk::TreeIter#set_value})). * Supported marking columns in (({Gtk::TreeView})) for GC. [ruby-gnome2-devel-en][Reported by Stefan Salewski] * Updated tutorial samples. [GitHub#567][GitHub#568][GitHub#587][Patch by cedlemo] * Supported marking records in (({Gtk::TreeModel})) for GC. [ruby-gnome2-devel-en][Reported by Stefan Salewski] * Started updating gtk-demo with (({Gtk::Application})). [GitHub#583][GitHub#586][GitHub#588][Patch by cedlemo] * Supported option style API by (({Gtk::Builder#add})). * Supported (({:object_ids})) by (({Gtk::Builder#add})). [GitHub#585][Patch by cedlemo] * Added backward compatible API to (({Gtk.show_uri})). ==== Ruby/GStreamer * Improvements * Added (({Gst::Version.or_later?})). [GitHub#573][Patch by cedlemo] ==== Ruby/Poppler * Improvements * Added (({Poppler::Version.or_later?})). [GitHub#577][Patch by cedlemo] ==== Ruby/RSVG2 * Improvements * Added (({RSVG::Version.or_later?})). [GitHub#578][Patch by cedlemo] ==== Ruby/VTE3 * Improvements * Stopped to run tests for old VTE with new VTE. [GitHub#566][Reported by Mamoru TASAKA] ==== Ruby/WebKitGTK * Improvements * Added (({WebKitGtk::Version.or_later?})). === Thanks * Stefan Salewski * Mamoru TASAKA * cedlemo == Ruby-GNOME2 3.0.5: 2015-09-22 It is a bug fix release for mikutter. === Changes ==== Ruby/GTK2 * Fixes * Fixed a bug that (({g_object_ref_sink()})) isn't called for instance of (({type_register}))ed class. [http://dev.mikutter.hachune.net/issues/771#note-3] [Reported by toshi_a] === Thanks * toshi_a == Ruby-GNOME2 3.0.4: 2015-09-21 It is a build fix release for 32bit Windows. === Changes ==== All * Improvements * Supported auto native package installation on Arch Linux. [GitHub#553][GitHub#563] [Patch by lilole] ==== Ruby/GObjctIntrospection * Fixes * 32bit Windows: Fixed strut field accessors access wrong address. ==== Ruby/ATK * Improvements * Added (({Atk::Version.or_later?})) [GitHub#552] [Patch by cedlemo] ==== Ruby/GdkPixbuf2 * Improvements * Added (({Gdk::Pixbuf::Version.or_later?})). [GitHub#561] [Patch by cedlemo] ==== Ruby/GDK3 * Improvements * Supported GTK+ 3.17.9. [GitHub#558] [Reported by Mamoru TASAKA] ==== Ruby/GTK3 * Improvements * Updated examples. [GitHub#550] [Patch by cedlemo] ==== Ruby/ClutterGstreamer * Improvements * Added (({ClutterGst.load_version})). * Added (({ClutterGst.load_version=})). * Added (({ClutterGst::Version.or_later?})). [GitHub#556] [Patch by cedlemo] === Thanks * cedlemo * lilole * Mamoru TASAKA == Ruby-GNOME2 3.0.3: 2015-09-16 It is a compatibility improvement release of 3.0.2. === Changes ==== All * Improvements * Removed test-unit-notify gem from development dependencies. [GitHub#547] [Patch by cedlemo] ==== Ruby/GObjectIntrospection * Improvements * Supported (({GObjectIntrospection::Repository.prepend_search_path})). * Supported (({GObjectIntrospection::Repository.search_path})). * Windows: Supported requiring library after one (({GObjectIntrospection::Loader#load})). [GitHub#546] [Reported by Abby Archer] ==== Ruby/GTK3 * Improvements * Supported (({Gtk::IconSize.lookup})). [GitHub#544] [Reported by Masafumi Yokoyama] * Supported size name as argument of (({Gtk::Widget#render_icon_pixbuf})). [GitHub#544] [Reported by Masafumi Yokoyama] * Supported (({Gio::Icon})) in (({Gtk::IconTheme#lookup_icon})). [GitHub#544] [Reported by Masafumi Yokoyama] * Supported (({Gtk::TreeModel#iter_parent})). * Supported (({Gtk::TreeIter#parent})). * Updated examples. [GitHub#548] [Patch by cedlemo] * Fixes * Fixed a bug that (({Gtk::Widget.bind_template_child})) is required. [GitHub#549] [Reported by cedlemo] * Fixed a bug that default (({x_option})) and (({y_option})) values of (({Gtk::Table#attach})) is wrong. [GitHub#546] [Reported by Abby Archer] * Windows: Fixed a bug that Ruby/RSVG2 isn't required automatically. [GitHub#546] [Reported by Abby Archer] === Thanks * Masafumi Yokoyama * cedlemo * Abby Archer == Ruby-GNOME2 3.0.2: 2015-09-13 It is a compatibility improvement release of 3.0.1. === Changes ==== Ruby/GObjectIntrospection * Improvements * Supported void pointer. [GitHub#540] [Reported by Abby Archer] * Added (({GObjectIntrospection::Loader.instantiate_gobject_pointer})). ==== Ruby/GDK3 * Improvements * Supported (({Gdk::Window#user_data})). [GitHub#540] [Reported by Abby Archer] * compatibility: (({Cairo::Context#set_source_rgba})) accepts (({nil})) as alpha value. [GitHub#540] [Reported by Abby Archer] * compatibility: Added fallback feature for deprecated (({Gdk::EventScroll::Direction})). * Windows: Added hicolor-icon-theme as fallback theme. ==== Ruby/GTK3 * Improvements * compatibility: (({Gtk::Window#icon=})) accepts icon file name. [GitHub#540] [Reported by Abby Archer] * compatibility: (({Gtk::Dialog#add_button})) accepts (({Symbol})) as response ID. [GitHub#540] [Reported by Abby Archer] * Deprecated (({Gtk::ColorSelectionDialog})). * compatibility: Added fallback feature for deprecated (({Gtk::TextTag::WrapMode})). * compatibility: Added fallback feature for deprecated (({Gtk::TextBuffer#insert(iter, target, *tags)})) usage. * compatibility: Added fallback feature for deprecated (({Gtk::ButtonBox::Style})). * compatibility: Added fallback feature for deprecated (({Gtk::MessageDialog::ButtonsType})). * compatibility: Supported creating an empty image by (({Gtk::Image.new})). * compatibility: Added fallback feature for deprecated (({Gtk::ImageMenuItem.new})) usage. * Supported (({Gtk::TreeIter#next!})). * Supported (({Gtk::TreeModel#get_value})). * compatibility: Added fallback feature for deprecated (({Gtk::Alignment::Align})). * compatibility: Added fallback feature for deprecated (({Gtk::Widget#get_size_request})). * compatibility: Added fallback feature for deprecated (({Gtk::Table.new})). * compatibility: Added fallback feature for deprecated (({Gtk::Table#column_spaces})). * compatibility: Added fallback feature for deprecated (({Gtk::Table#column_spaces=})). * compatibility: Added fallback feature for deprecated (({Gtk::Table#attach})). * compatibility: Added fallback feature for deprecated (({Gtk::ToggleButton.new})). * Windows: Added missing Ruby/RSVG2 dependency. * compatibility: Added fallback feature for deprecated (({Gtk::Container#each_forall})). * Supported (({nil})) as (({size})) for (({Gtk::Image.new})). * compatibility: Added fallback feature for deprecated (({Gtk::Image.new(pixbuf)})). * compatibility: Added fallback feature for deprecated (({Gtk::Toolbar::Style})). * Supported Rubyish (({Gtk::CheckMenuItem.new})). * Fixes * Fixed samples. [GitHub#536][GitHub#541] [Patch by cedlemo] [GitHub#540] [Reported by Abby Archer] * Fixed a bug that (({Gtk::Calendar#date})) returns (({0-11})) range month value. ==== Ruby/RSVG2 * Improvements * Windows: Added missing Ruby/Pango dependency. * Windows: Updated loaders.cache for gdk-pixbuf automatically. ==== Ruby/GStreamer * Improvements * compatibility: (({Gst::TypeFindFactory#extensions})) always returns (({Array})). === Thanks * cedlemo * Abby Archer == Ruby-GNOME2 3.0.1: 2015-09-11 It is a bug fix release of 3.0.0. === Changes ==== Ruby/GLib2 * Fixes * Windows: Fixed a bug that large number flag value isn't usable. [GitHub#538] [Reported by Abby Archer] ==== Ruby/GTK3 * Improvements * Updated tutorials. [GitHub#534][GitHub#537] [Patch by cedlemo] ==== Ruby/VTE3 * Improvements * Added (({Vte::Version.or_later?})). [GitHub#535] [Patch by cedlemo] === Thanks * cedlemo * Abby Archer == Ruby-GNOME2 3.0.0: 2015-09-10 It is a GTK+ 3.16 support release. To GTK+ 3.16 support, many people helped us. Especially, cedlemo did great works. Very thanks all!!! === Changes ==== All * Improvements * Added install instruction for GitHub master branch. [GitHub#425][Patch by Hiroyuki Sato] ==== Ruby/GLib2 * Improvements * Added new APIs: * (({RVAL2GOBJGLIST})) * (({RVAL2GOBJGSLIST})) * (({rbg_rval2glist})) * (({rbg_rval2gslist})) * (({RVAL2CSTR_PTR})) * (({rbg_name_to_nick})) * (({rbgobj_class_init_func})) * (({rbgobj_register_type})) * Changed (({RVAL2CSTR})) to return (({NULL})) terminated string. If you want to get raw string that may not be terminated by (({NULL})), use (({RVAL2CSTR_PTR})). * Supported (({Symbol})) as flag value. * Added (({windows_platform?})) * Supported (({GLib::Value.new})) without value. * Supported array of flag value as (({GLib::Flags.new})) input. * Supported name, nick and (({GLib::Enum})) as (({GLib::Enum.new})) input. * Migrated to Markdown for README markup. [GitHub#484][Patch by prpr_man] * Supported (({GVariantType})). * Supported (({GVariant})). * Supported (({GBinding})). [GitHub#524][Reported by cedlemo] * Fixes * Fixed a bug that (({GLib.format_size})) doesn't work 32bit over integer value. [GitHub#413][Reported by eumario] ==== Ruby/GObjectIntrospection * Improvements * Supported non GObject struct as return value. [GitHub#286][Reported by Christopher L. Ramsey] * Supported (({list_XXX})) method name. * Supported freeing (({GList})). * Supported array of struct as input argument. * Supported auto native package install on CentOS 7. * Supported (({can_XXX?})) predicate. * Supported the number of array as input argument. [Suggested by John Cupitt] * Supported array of (({GValue})) as input argument. * Supported array as return value. * Supported (({GClosure})) as input argument. * Supported (({GSList})) as input argument. * Supported (({GSList})) as output argument. [GitHub#324][Reported by cedlemo] * Supported union as input argument. * Supported array of (({guint8})) as input argument. * Supported array of (({gint32})) as input argument. * Supported class methods defined in (({XXXClass})). * Supported (({GList})) as output argument. [GitHub#389][Reported by eumario] * Supported (({GList})) as return value. [GitHub#501][Reported by Christopher L. Ramsey] * Supported (({GVariant})) as return value. [GitHub#502][Reported by kitone] * Fixes * Fixed a bug that (({GList})) return type method always returns nil. * Fixed a bug that not predicate is treated as predicate. * Fixed a bug that (({self})) is different. ==== Ruby/GIO2 * Improvements * Supported (({GAsyncReadyCallback})). [GitHub#302][Reported by Christopher L. Ramsey] * Added (({ActionMap#add_actions})). ==== Ruby/Pango * Improvements * Added (({Pango::Language#sample_string})). ==== Ruby/GDK3 * Improvements * Added backward compatibility APIs. [GitHub#284][Reported by Christopher L. Ramsey] * Added constants in (({Gdk::Selection})). [GitHub#254][Patch by Masafumi Yokoyama] * Added missing deprecations. [GitHub#291][Reported by Michel Boaventura] * Added (({RGBA.parse})). [GitHub#295][Reported by carlosjhr64] * Supported (({Gdk::Rectangle})). [GitHub#319][Reported by cedlemo] * Supported (({Gdk::Screen#get_setting})). [GitHub#376][Reported by cedlemo] * Added (({Gdk::Screen#get_monitor})). * Fixes * Fixed a bug that (({GDK_KEY_XXX})) raises an error. [ruby-gnome2-devel-en][Reported by Detlef Reichl] ==== Ruby/GTK3 * Improvements * Migrated to GObject Introspection based bindings from hand writing bindings. Now, all the latest API in GTK+ are supported. [Hiroshi Hatake][Detlef Reichl][cedlemo][John Cupitt] [Masafumi Yokoyama][eumario][PeterWAWood][Daiki Ueno] * Updated samples. [Patch by cedlemo] ==== Ruby/GtkSourceView3 * Improvements * Migrated to GObject Introspection based bindings from hand writing bindings. Now, all the latest API in GtkSourceView are supported. ==== Ruby/VTE3 * Improvements * Migrated to GObject Introspection based bindings from hand writing bindings. Now, all the latest API in VTE are supported. [cedlemo] ==== Ruby/GStreamer * Fixes * Fixed native package name on CentOS and Fedora. * Fixed shebang. [GitHub#507][Patch by Dmitry Marakasov] ==== Ruby/RSVG2 * Improvements * Added (({:file_name})), (({:data})) and (({:flags})) option to (({RSVG::Handle.new})). * Updated a sample. [GitHub#518][Patch by Robert A. Heiler]. * Fixes * Fixed a memory leak of (({RSVG::Handle.new_from_data})) and (({RSVG::Handle.new_from_file})). [GitHub#318][Reported by Kagetsuki] ==== Ruby/Clutter * Improvements * Added (({Clutter::Version.or_later?})). ==== Ruby/WebKit2GTK * Improvements * Added. === Thanks * Hiroshi Hatake * Christopher L. Ramsey * Masafumi Yokoyama * cedlemo * Detlef Reichl * Kagetsuki * eumario * PeterWAWood * Hiroyuki Sato * Daiki Ueno * prpr_mann * Dmitry Marakasov == Ruby-GNOME2 2.2.5: 2015-04-24 It is a GLib 2.44 support release. === Changes ==== Ruby/GLib2 * Improvements * Supported GLib 2.44. [GitHub#361][Reported by Benjamin Maisano] === Thanks * Benjamin Maisano == Ruby-GNOME2 2.2.4: 2014-12-23 It is a x64 Windows support release. === Changes ==== Ruby/GLib2 * Improvements * Stopped to call g_thread_init() for GLib 2.32.0 or later because g_thread_init() is called automatically. * Added GLib.format_size. * Added GLib::Source#name. * Added GLib::Source#name=. * Added GLib::Source#ready_time. * Added GLib::Source#ready_time=. * Added GLib::Source#destroy. * Fixes * Fixed a bug that wrong converter is used on bigendian environment. [GitHub#270][Reported by mtasaka] ==== Ruby/GIO2 * Improvements * Added Gio::DBus. * Fixes * Fixed a bug that Gio::ContentType#executable? isn't defined by correct name. ==== Ruby/GTK2 * Improvements * Gtk::AboutDialog#show: Supported license_type option. [ruby-gnome2-devel-ja][Patch by Hiroyuki Ito] * Fixes * Gtk::AboutDialog#show: Fixed a bug that wrap_license option doesn't work. [ruby-gnome2-devel-ja][Patch by Hiroyuki Ito] ==== Ruby/GObjectIntrospection * Improvements * Supported prefix removing from method name. * Supported GList of UTF-8. [ruby-gnome2-devel-en][Reported by Detlef Reichl] * Added documentation. [GitHub#267][Patch by Detlef Reichl] * Fixes * Fixed a bug that out only argument is required. [GitHub#268][Reported by mtasaka] ==== Ruby/GDK3 * Improvements * Gdk::Window: Added deprecated constants for backward compatibility. * Supported Gdk::Keyval module functions. [GitHub#265][Reported by Detlef Reichl] * Cairo::Context#set_source_rgba: Re-supported (({set_source_rgba(r, g, b, a)})) style. [GitHub#272][Patch by Detlef Reichl] * [windows] Bundled the new default GNOME icon theme. [GitHub#276][Reported by glurp] * Fixes * Gdk::Color.parse: Fixed unexpected API change. [GitHub#276][Reported by glurp] * Fixed a bug that Gdk::Event::Mask fallback doesn't work. [GitHub#276][Reported by glurp] ==== Ruby/GTK3 * Improvements * Gtk::AboutDialog#show: Supported license_type option. [ruby-gnome2-devel-ja][Patch by Hiroyuki Ito] * Gtk::ActionBar: Added. [GitHub#282][Suggested by Christopher L. Ramsey] * Fixes * Gtk::AboutDialog#show: Fixed a bug that wrap_license option doesn't work. [ruby-gnome2-devel-ja][Patch by Hiroyuki Ito] ==== Ruby/RSVG2 * Improvements * RSVG::Handle.new_from_file: Supported flags. You can open a large file with (({:flags => :unlimited})). [GitHub#263][Patch by Taro Matsuzawa] ==== Ruby/Clutter * Improvements * Added Clutter::Feature. * Fixes * Added missing require for Ruby/Pango. * Fixed initializing order. [GitHub#274][Reported by mtasaka] === Thanks * Detlef Reichl * Hiroyuki Ito * mtasaka * glurp * Taro Matsuzawa * Christopher L. Ramsey == Ruby-GNOME2 2.2.3: 2014-10-26 It is a bug fix release. It's recommended that you upgrade if your application uses thread and runs on Ruby 2.0 or later. === Changes ==== All * Improvements * Supported auto native package install on SuSE. ==== Ruby/GLib2 * Fixes * Fixed infinite loop bug on Ruby 2.0 or later. [ruby-gnome2-devel-ja] [Reported by Toshi Hatsune] ==== Ruby/GDK3 * Fixes * Added missing dependencies. [GitHub#258] [Reported by Luis Daniel Gonzalez Orozco] ==== Ruby/CairoGObject * Improvements * Supported auto required native package install by Homebrew. * Fixes * Fixed wrong package name on Debian. ==== Ruby/VTE3 * Improvements * Supported auto required native package install by Homebrew. ==== Ruby/Clutter * Improvements * Added Clutter.check_version?. === Thanks * Luis Daniel Gonzalez Orozco * Toshi Hatsune == Ruby-GNOME2 2.2.2: 2014-10-12 It is a Windows package fix release. == Ruby-GNOME2 2.2.1: 2014-10-12 It is a release that Ruby/GDK3 is migrated to Ruby/GObjectIntrospection based bindings. Some API changes in Ruby/GDK3 are expected but unexpected API changes may exist. If you find API change, please report it. If the API change provides non Rubyish API, it will be a bug. Ruby/GooCanvas is removed because we can't maintain it. === Changes ==== Ruby/GLib2 * Improvements * Added GObject#unref to free large object immediately. * Fixes * [windows] Added a missing exported symbol. ((({rbg_inspect}))) * Fixed a bug that signal handler doesn't work on Ruby 2.1. [ruby-gnome2-devel-en] [Reported by Carlo E. Prelz] * Fixed free function (free -> xfree). ==== Ruby/GObjectIntrospection * Improvements * Supported instantiating union. * Accepted 5 or more the number of signals. It may be increased for later GIO version. [GitHub#229] [Reported by cosmo0920] * Added "?" to boolean field value reader. * Supported mapping function info to method. * Don't handle MethodInfo as FunctionInfo. * Accepted not GType struct as an input argument. * Accepted getting a field value from not GType but GType descendant sruct. * Added Loader.register_constant_rename_map. * Supported in GType array. * Don't require needless array length argument. * Supported finding suitable method that has optional argument. * Fixes * Fixed wrong argument index for Ruby objects. * Fixed a bug that ArgInfo isn't passed. ==== Ruby/CairoGObject * Improvements * Suppressed a warning that instance variable gboxed not initialized. ==== Ruby/GIO2 * Improvements * Supported GLib 2.42.0. Annotation for GObject Introspection is added to g_pollable_input_stream_read_nonblocking() since GLib 2.42.0. See also: https://bugzilla.gnome.org/show_bug.cgi?id=730493 * Supported GLib <= 2.36.0. * Fixes * Fixed a bug that .pc isn't installed. [Reported by OBATA Akio] ==== Ruby/GDK3 * Improvements * Migrated to Ruby/GObjectIntrospection based bindings. * Gdk::Keyval::GDK_KEY_x style is deprecated. Use Gdk::Keyval::KEY_x style instead. * Accepted Gdk::RGBA for Cairo::Context#set_source_rgba. ==== Ruby/GTK3 * Improvements * Added Gtk::StackSwitcher. * Supported interrupt in Gtk.main. * Supported interrupt in Gtk::Dialog#run. [Reported by Carlo E. Prelz] * Added initialization with Gdk::RGBA value. [GitHub#231] [Patch by Detlef Reichl] * Added Gtk::Window#set_titlebar (enable the use of Gtk::HeaderBar). [GitHub#236] [Patch by tescorg] * Updated sample scripts. [Patch by kitachro] * Fixes * Fixed memory leak of Gtk::Image. [GitHub#252] [Reported by Michel Boaventura] ==== Ruby/GTK2 * Improvements * Fixed wrong property value on ppc64 and s390x. [GitHub#256] [Reported by mtasaka] ==== Ruby/GStreamer * Improvements * Added gstreamer.rb for Bundler's autoload. [GitHub#232] [Reported by saepia] * Added Caps.any and Caps.empty. * Supported property for Gst::ChildProxy. [GitHub#233] [Reported by saepia] * Fixes * Fixed a bug that Gst.init is failed. [GitHub#232] [Reported by saepia] ==== Ruby/Poppler * Improvements * Install Poppler with --with-glib option for Homebrew. [GitHub#237] [Reported by Colin Dean] * Removed needless `--with-glib` option. Now, it is the default. [rabbit-shocker/rabbit#24] [Reported by Kazuhiro NISHIYAMA] ==== Ruby/ClutterGStreamer * Improvements * Added clutter-gstreamer.rb to support Bundler's autoload. ==== Ruby/GooCanvas * Removed. === Thanks * OBATA Akio * Carlo E. Prelz * cosmo0920 * Detlef Reichl * saepia * tescorg * Colin Dean * Kazuhiro NISHIYAMA * kitachro * Michel Boaventura * mtasaka == Ruby-GNOME2 2.2.0: 2014-03-09 It is a release that Ruby/GIO2 is migrated to Ruby/GObjectIntrospection based bindings. Some API changes in Ruby/GIO2 are expected but unexpected API changes may exist. If you find API change, please report it. If the API change provides non Rubyish API, it will be a bug. === Changes ==== Ruby/GLib2 * Improvements * Stopped to use deprecated API internally in G_REPLACE_SET_PROPERTY. * Added RG_REPLACE_SET_PROPERTY. * Reduced locking on object creation. * Exported rbg_inspect(). * Created code level error. * Raised code level error instead of domain level error. * Fixes * Fixed a bug that wrong error code may be used. ==== Ruby/GTK2 * Improvements * Suppressed warnings on startup. * Fixes * [windows] Suppressed IME related warnings. [Reported by OBATA Akio] * [GitHub#222] Fixed a bug that Gdk::EventAny related methods aren't used by other Gdk::Event classes. [Reported by mtasaka] ==== Ruby/GDK3 * Improvements * Added Gdk::Display#device_manager. * Added Gdk::Window#display. * Suppressed warnings on startup. * Added Gdk::Event::PROPAGATE. * Added Gdk::Event::STOP. * Fixes * [windows] Suppressed IME related warnings. * Fixed a bug that Gdk::DeviceManager is wrong object. * [GitHub#222] Fixed a bug that Gdk::EventAny related methods aren't used by other Gdk::Event classes. [Reported by mtasaka] ==== Ruby/GTK3 * Improvements * Added Gtk::MenuButton. * [GitHub#219] Added Gtk::LevelBar. [Patch by cosmo0920] * Added Gtk::IconView. * [GitHub#206] Added Gtk::HeaderBar. [Reported by dark-yux] * [GitHub#223] Added Gtk::Stack. [Patch by cosmo0920] * Suppressed warnings on startup. * Added Gtk::Revealer. * Updated sample scripts. * [GitHub#227] Added Gtk::SearchBar. [patch by cosmo0920] ==== Ruby/GIO2 * Improvements * Migrated to Ruby/GObjectIntrospection based bindings. * [SF.net#187] Supported Gio::ContentType.guess. [Reported by neversleep1911] * Added Gio::Resources.lookup_data. * Added Gio::Resources.open_stream. * Added Gio::Resources.enumerate_children. * Added Gio::Resources.get_info. * Added Gio::Resources.register. * Added Gio::Resources.unregister. * Changes * Removed Gio::Socket#create_source. Use Gio::InputStream#create_source or Gio::OutputStream#create_source instead. * Removed Gio::InetAddress.new_from_string. Use Gio::InetAddress.new instead. * Removed Gio::InetAddress.new_any. Use Gio::InetAddress.any instead. * Removed Gio::InetAddress.new_l. Use Gio::InetAddress.any instead. * Fixes * [SF.net#186] Fixed a bug that Gio::ContentType module functions raises "no implicit conversion" error. [Reported by neversleep1911] ==== Ruby/Pango * Improvements * [ruby-gnome2-devel-en] Re-supported build on CentOS 5. [Reported by Grant Schoep] ==== Ruby/Poppler * Improvements * Suppressed a warning on startup. ==== Ruby/GtkSourceView2 * Improvements * [GitHub#226] Suppressed warnings. [Patch by cosmo0920] * Fixes * [GitHub#215] Fixed a return value for GtkSource#get_mark_category_background. [Reported by mtasaka] ==== Ruby/GObjectIntrospection * Improvements * [GitHub#216] Suppressed warnings on armv7hl. [Reported by mtasaka] * Supported freeing interface. * Supported freeing struct. * Supported String as void * value for value. * Supported freeing array of int8. * Supported freeing array of uint8. * Supported defining errors. * Improved guessing target method for overloaded method. * Supported array length. * Supported inout array. * Converted GBytes to String instead of wrapped GBytes. * Supported all exception types rather than GLib::Error. * Changes * Changed returned value of inout array to an array from an array and array length. * Fixes * [GitHub#216] Fixed test failures on i686 environment. [Reported by mtasaka] ==== Ruby/ClutterGTK * Improvements * Added duplicated Clutter.init check. === Thanks * OBATA Akio * mtasaka * cosmo0920 * Grant Schoep * dark-yux * neversleep1911 == Ruby-GNOME2 2.1.0: 2013-12-29 Ruby 2.1.0 support release! === Changes ==== All * Improvements * Set license information to gem. * Fixes * [windows] Added missing binaries for Ruby 2.1.0. [GitHub#123] [Patch by Masafumi Yokoyama] ==== Ruby/GDK3 * Improvements * [windows] Bundled hicolor-icon-theme. It may fix a problem that Windows theme is not applied. [ruby-gnome2-devel-en] [Reported by Regis d'Aubarede] === Thanks * Masafumi Yokoyama * Regis d'Aubarede == Ruby-GNOME2 2.0.3: 2013-12-29 It is RC release for 2.1.0. === Changes ==== All * Improvements * Removed Ruby 1.8 from supported Ruby in READMEs. [GitHub#166] [Reported by Markus Heiler] [Patch by Masafumi Yokoyama] * Supported Ruby 2.1.0. [GitHub#181] [cosmo0920][Masafumi Yokoyama] * Made rcairo optional to required because we dropped old GTK+ that doesn't use cairo. (Cairo isn't used library such as GLib doesn't require rcairo. But Ruby/GLib2 requires rcairo on Windows because it uses zlib bundled in rcairo.) [GitHub#193] [cosmo0920] * Updated LGPL 2.1 files. [GitHub#196] [Reported by ktdreyer] * Supported tests on Travis CI. [Masafumi Yokoyama][cosmo0920] * Supported rake-compiler 0.9.1. ==== Ruby/GLib2 * Improvements * Set UTF-8 encoding to exception message. * Added GLib::GetText.bindtextdomain. * Dropped GLib < 2.12 because CentOS 5 has GLib 2.12.3. [GitHub#190] [cosmo0920] * Added GValue#to_s. * [windows] Updated bundled GLib to 2.38.2 from 2.36.2. ==== Ruby/GObjectIntrospection * Improvements * Supported GList return type. * Supported freeing UTF-8 return type. * Supported freeing array return type. * Supported NULL as array return value. * Supported freeing GObject return value. * Supported freeing structure return value. * Supported NULL character for gint8 array. * Fixes * Fixed type conversion from VALUE to GType. [GitHub#186] [Patch by Hiroyuki Tanaka] ==== Ruby/ATK * Improvements * Dropped ATK < 1.12 support because CentOS 5 has GTK+ 1.12.2. [GitHub#191] [cosmo0920] * [windows] Updated bundled ATK to 2.10.0 from 2.8.0. ==== Ruby/Pango * Improvements * Supported cairo 1.6. [GitHub#172] [Patch by Grant Schoep] * Dropped Pango < 1.14 support because CentOS 5 has GTK+ 1.14.9. [GitHub#192] [cosmo0920] * Added Pango::Layout#height=. [GitHub#210] [Patch by Vasily Fedoseyev] * Added Pango::Layout#ellipsized?. [GitHub#210] [Patch by Vasily Fedoseyev] * [windows] Updated bundled Pango to 1.36.1 from 1.34.1. ==== Ruby/GdkPixbuf2 * Improvements * [windows] Added rcairo dependency on Windows for using libpng and zlib bundled in rcairo. * [windows] Updated bundled gdk-pixbuf to 2.30.2 from 2.28.1. ==== Ruby/GTK2 * Improvements * Dropped GTK+ < 2.10 support because CentOS 5 has GTK+ 2.10.4. [GitHub#182] [Patch by cosmo0920] * [windows] Updated bundled GTK+ to 2.24.22 from 2.24.18. ==== Ruby/GDK3 * Improvements * [test] Made more stable. [GitHub#178] [Reported by mtasaka] * Added Gdk::Device#ungrab. [cosmo0920] * Added Gdk::DeviceManager. [cosmo0920] * Added Gdk::Device#get_position. [cosmo0920] * Added Gdk::Device#warp. [cosmo0920] * Added Gdk::Device#grab. [cosmo0920] * Added Gdk::Window#get_device_position. [cosmo0920] * [windows] Updated bundled GTK+ to 3.10.6 from 3.8.2. ==== Ruby/GTK3 * Improvements * [sample] Updated for GTK+ 3. [Masafumi Yokoyama] * Removed Gtk::BindingSet#add_path. * Added Gtk.show_uri. * Fixes * Fixed a bug that Gtk::ActionGroup#add_radio_actions always fails. [ruby-gnome2-devel-ja] [Reported by S. Kitagawa] ==== Ruby/GStreamer * Improvements * Supported calling module functions of Gst module such as Gst.version before calling Gst.init. * Added Gst::Registry#plugins. * Added Gst::Registry#get_features. * Added Gst::ElementFactory#long_name. * Added Gst::ElementFactory#klass. * Added Gst::ElementFactory#author. * Added Gst::ElementFactory#static_pad_templates. * Added Gst::Caps#structures. * Added Gst::Structure#fields. * Gst::Element#flags returns flag object instead of raw integer value. Use Gst::Element#flags_raw for raw integer value. * Gst::PluginFeature#rank returns Gst::Rank instead of raw integer value. Use Gst::PluginFeature#rank for raw integer value. * Supported GstValueList. * [windows] Updated bundled GStreamer to 1.2.1 from 1.0.7. ==== Ruby/Clutter * Improvements * [sample] Updated for Clutter 1.12 or later. [Patch by Kentaro Fukuchi] * [windows] Updated bundled Clutter to 1.16.2 from 1.14.4. ==== Ruby/ClutterGStreamer * Improvements * [sample] Added. [Masafumi Yokoyama] * Fixed a typo in sample. [Reported by Toyo Abe] * [windows] Updated bundled Clutter-GStreamer to 2.0.8 from 2.0.2. ==== Ruby/Poppler * Improvements * Dropped Popper < 0.12 because CentOS has Poppler 0.12.4. [GitHub#212] [cosmo0920] * [windows] Bundled Poppler 0.24.4. ==== Ruby/RSVG * Improvements * [windows] Bundled librsvg 2.40.1. ==== Ruby/GtkSourceView3 * Improvements * Supported auto GtkSourceView install on OS X. [GitHub#177] [Masafumi Yokoyama] * [windows] Updated bundled GtkSourceView to 3.10.1 from 3.8.1. ==== Ruby/GooCanvas * Improvements * [sample] Followed changes caused by migrating to Ruby/GObjectIntrospection. [Masafumi Yokoyama] * Updated FSF address. [GitHub#201] [Reported by ktdreyer] * Fixes * Fixed wrong dependency. [ruby-gnomde2-devel-ja] [Reported by Masafumi Yokoyama] === Thanks * Kentaro Fukuchi * S. Kitagawa * Markus Heiler * Masafumi Yokoyama * Grant Schoep * Toyo Abe * mtasaka * cosmo0920 * Hiroyuki Tanaka * ktdreyer == Ruby-GNOME2 2.0.2: 2013-05-26 Windows XP re-supportted release! === Changes ==== Ruby/GLib2 * Improvements * Added rbgutil_key_equal() convenient function. It is used for comparing key that may be String or Symbol. ==== Ruby/Pango * Improvements * [windows] Forced to disable uniscribe backend of HarfBuzz. [ruby-list:49412] [Reported by Masafumi Yokoyama] * Don't define Pango::CairoFcFontMap and Pango::CairoWin32FontMap because they may cause crash on OS X. [shocker-ja:1119] [Reported by znz] * Updated samples. [GitHub#164] [Patch by Kentaro Fukuchi] * Fixes * Fixed wrong index access in Pango::GlyphString#glyphs. [ruby-gnome2-devel-ja] [Reported by Kentaro Fukuchi] === Thanks * Kentaro Fukuchi * Masafumi Yokoyama * znz == Ruby-GNOME2 2.0.1: 2013-05-25 Ruby 1.8 support is dropped release! === Changes ==== All * Improvements * Dropped Ruby 1.8 support. * Updated bundled binaries versions for Windows. ==== Ruby/Pango * Improvements * Added Pango::CairoFontMap.set_default. * Enabled fontconfig font on Windows. * Defined Pango::CairoFcFontMap on init if it is available. * Defined Pango::CairoWin32FontMap on init if it is available. ==== Ruby/GTK3 * Improvements * Added Gtk::Image#set_from_icon_set. [GitHub#150] [Patch by Detlef Reichl] * Added Gtk::Image#set_from_stock. [GitHub#150] [Patch by Detlef Reichl] * Added Gtk::Image#set_from_gicon. [GitHub#150] [Patch by Detlef Reichl] * Updated samples. [GitHUb#151] [Patch by Detlef Reichl] * Fixes * Fixed a GC related crash bug. [ruby-gnome2-devel-en] [Reported by Detlef Reichl] ==== Ruby/GObjectIntrospection * Improvements * Supported ownership transfer for some input argument types. (Struct and Object) * Supported "(out caller-allocates)" for boxed object. [ruby-gnome2-devel-ja] [Reported by Kentaro Fukuchi] * Supported gpointer in/out. [ruby-gnome2-devel-ja] [Reported by NAKAJIMA Takashi] * Fixes * Fixed missing argument. [GitHub#154] [Reported by Masafumi Yokoyama] ==== RubyGStreamer * Improvements * Supported methods that call callback [ruby-gnome2-devel-ja] [Reported by NAKAJIMA Takashi] * Updated samples. [GitHub#156][GitHub#159][GitHub#160][GitHub#161] [Patch by NAKAJIMA Takashi] * Supported Gst::Bus#set_handler. [ruby-gnome2-devel-ja] [Reported by NAKAJIMA Takashi] * Supported Gst::Controller [ruby-gnome2-devel-ja] [Suggested by NAKAJIMA Takashi] * Stopped to require Gst.init. * Fixes * Fixed out of index access bug. ==== Ruby/GooCanvas * Improvements * Migrated to Ruby/GObjectIntrospection based bindings. * Stopped to require Goo.init. * Fixes * Updated samples. [GitHub#152][GitHub#153][GitHub#155][GitHub#157] [Patch by Masafumi Yokoyama] ==== Ruby/Clutter * Improvements * Stopped to require Clutter.init. * Fixes * Fixed broken samples. [ruby-gnome2-devel-ja] [Patch by Kentaro Fukuchi] ==== Ruby/ClutterGtk * Improvements * Stopped to require ClutterGtk.init. ==== Ruby/ClutterGStreamer * Added. ==== Ruby/WebKitGtk * Improvements * Stopped to require WebKitGtk.init. ==== Ruby/WebKitGtk2 * Improvements * Stopped to require WebKitGtk2.init. === Thanks * Detlef Reichl * NAKAJIMA Takashi * Masafumi Yokoyama * Kentaro Fukuchi == Ruby-GNOME2 2.0.0: 2013-04-29 GObject Introspection based bindings on Windows support release! === Changes ==== NEWS * Fixes * Fixed a typo. [Reported by Masafumi Yokoyama] * FIxed a typo. [Reported by Toyo Abe] ==== Ruby/GLib2 * Improvements * Moved lib/gnome2-*.rb files to lib/gnome2/ directory. * Supported GLib 2.34. [Reported by OBATA Akio] ==== Ruby/GdkPixbuf2 * Fixes * [windows] Fixed PNG can't be handled problem. [ruby-gnoem2-devel-ja] [Reported by Masafumi Yokoyama] ==== Ruby/GDK3 * Improvements * [windows] Removed needless Greybird theme. [ruby-gnome2-devel-en] [Reported by Regis d'Aubarede] * Added Gdk::Window#create_cairo_context [ruby-gnome2-devel-en] [Reported by Detlef Reichl] ==== Ruby/GTK3 * Improvements * Updated samples. [GitHub #140][GitHub #141][GitHub #144] [Patch by Simon Arnaud] [GitHub #142][GitHub #143][GitHub #145][GitHub #146][GitHub #148] [Patch by Detlef Reichl] ==== Ruby/GObjectIntrospection * Improvements * [windows] Supported! ==== Ruby/GStreamer * Improvements * Supported GStreamer 1.0! * Migrated to GObject Introspection bindings! * Dropped GStreamer 0.10 support. ==== Ruby/Clutter * Improvements * [windows] Supported! ==== Ruby/ClutterGTK * Improvements * [windows] Supported! === Thanks * Masafumi Yokoyama * Toyo Abe * OBATA Akio * Regis d'Aubarede * Detlef Reichl * Simon Arnaud == Ruby-GNOME2 1.2.6: 2013-04-02 Broken Ruby/Poppler fix release! === Changes ==== Ruby/GLib2 * Improvements * Removed deprecated GLib::Completion. * Removed deprecated g_source_get_current_time() use. * [windows] Updated bundled GLib to 3.8.0. * [windows] Updated bundled glib-networking to 3.8.0. * [windows] Updated bundled GnuTLS to 3.1.10. ==== Ruby/ATK * Improvements * [windows] Updated bundled ATK to 2.8.0. ==== Ruby/GdkPixbuf2 * Improvements * [windows] Updated bundled gdk-pixbuf to 2.28.0. ==== Ruby/Pango * Improvements * [windows] Updated bundled Pango to 1.34.0. ==== Ruby/GDK3 * Improvements * [windows] Updated bundled GTK+ to 3.8.0. ==== Ruby/Poppler * Fixes * Fixed a bug that Poppler::Page#render is broken. [SF.net#184] [Reported by HARUYAMA Seigo] ==== Ruby/GooCanvas * Improvements * Added a Ruby/GObjectIntrospection based sample. [GitHub #139] [Patch by Masafumi Yokoyama] === Thanks * Masafumi Yokoyama * HARUYAMA Seigo == Ruby-GNOME2 1.2.5: 2013-03-28 Crash bug fix release! === Changes ==== All * Fixes * Fixed crash bugs. [GitHub #138] [Reported by Takuma Nakajima] === Thanks * Takuma Nakajima == Ruby-GNOME2 1.2.4: 2013-03-24 Ruby/WebKitGtk2 addition release! === Changes ==== All * Improvements * Start mswin64 support. (But it is not completed yet.) [GitHub #135] [Patch by usa] ==== Ruby/GLib2 * Improvements * Reduce needless GBoxed object copy. ==== Ruby/GdkPixbuf2 * Fixes * Fix build error by a typo. ==== Ruby/GtkSourceView2 * Improvements * Support auto RPM install on CentOS 6. ==== Ruby/GObjectIntrospection * Improvements * Add method name to arguments validation failure message. * Support specific version loading. ==== Ruby/GTK3 * Improvements * [windows] Add gschemas.compiled. [ruby-talk:406026] [Reported by Regis d'Aubarede] ==== Ruby/WebKitGtk2 * New! [GitHub #136] [Patch by eumario] === Thanks * usa * Regis d'Aubarede * eumario == Ruby-GNOME2 1.2.3: 2013-03-17 Clean up release! === Changes ==== Ruby/GTK2 * Remove needless signale handlers restore. ==== Ruby/GTK3 * Remove needless signale handlers restore. == Ruby-GNOME2 1.2.2: 2013-03-11 Ruby 2.0.0 support release! === Changes ==== Ruby/GLib2 * Improvements * Supported test on Ruby 2.0.0. [GitHub #134] [Reported by mtasaka] ==== Ruby/Poppler * Improvements * Removed deprecated GDK support. ==== Ruby/GDK3 * Improvements * Supported Ruby 2.0.0. [GitHub#129] [Reported by TOMITA Masahiro] ==== Ruby/GObjectIntrospection * Improvements * Supported not GType based flags. * Supported not GType based enum. * Supported custom callback function. * Supported .h install. * Supported .pc install. * More Rubyish method names are used. * Stopped to raise exception when there are two or more out parameters. * Added Loader.start_callback_dispatch_thread(). * Supported arguments validation. * Stopped to use array for just one return value. * Supported Enumerator. * Hide constructor methods. ==== Ruby/GtkSourceView3 * Fixes * Fixed wrong deb package name. ==== Ruby/Clutter * Fixes * Fixed wrong initialized check. * Stopped to override Clutter.init unexpectedly. ==== Ruby/ClutterGTK * Fixes * Fixed wrong initialized check. ==== Ruby/WebKitGTK * Fixes * Fixed wrong initialized check. === Thanks * Vincent Carmona (for unreleased GObjectIntrospection based GStreamer bindings) * TOMITA Masahiro * NAKAJIMA Takashi (for unreleased GObjectIntrospection based GStreamer bindings) * mtasaka == Ruby-GNOME2 1.2.1: 2013-01-30 GTK+ 3 support on Mac OS X release! === Changes ==== Ruby/GLib2 * Improvements * Supported custom sudo prompt on auto native package install. [GitHub:126] [Suggested by Yorick Peterse] * Started to support JRuby. (It is not completed yet.) [GitHub:125] [Reported by vpereira] * Accepted unsigned long int size GType. * Removed DL support. * Don't call deprecated g_type_init() for GLib >= 2.35.1. ==== Ruby/GTK2 * Fixes * Fixed a memory leak related Gtk::TreeIter. [GitHub:128] [Patch by Toshiaki Asai] ==== Ruby/GTK3 * Fixes * Fixed a memory leak related Gtk::TreeIter. [GitHub:128] [Patch by Toshiaki Asai] * Fixed a crash bug caused by symbol conflict with Ruby/GDK3 on Mac OS X. [GitHub:127] [Reported by Sergio Campama] [Helped by Watson] ==== Ruby/GDK3 * Improvements * [windows] Bundled Greybird theme. [Suggested by Regis d'Aubarede] ==== Ruby/GooCanvas * Improvements * Added Goo::Canvas#get_items_at [GitHub:124] [Patch by David Maciejak] ==== Ruby/WebKitGTK * Added ==== Ruby/GtkSourceView3 * Improvements * Supported Windows. === Thanks * David Maciejak * Yorick Peterse * vpereira * Toshiaki Asai * Sergio Campama * Watson * Regis d'Aubarede == Ruby-GNOME2 1.2.0: 2013-01-24 GTK+ 3 support release! === Changes ==== All * Added ruby-gtk3 package. Here is a list: * Ruby/GLib2 * Ruby/ATK * Ruby/Pango * Ruby/GdkPixbuf2 * Ruby/GDK3 * Ruby/GTK3 ==== Ruby/GLib2 * Improvements * Supported custom VALUE <-> GBoxed conversion * Supported VALUE <-> GBoxed conversion by RVAL2GOBJ * Added GLib::Source::REMOVE * Added GLib::Source::CONTINUE * Added rbgobj_make_boxed_raw() * Added GLib::Value for internal use * [windows] Updated to the latest GLib: 2.28.8-1 -> 2.34.3 * Changes * Removed deprecated GLib::Win32.get_package_installation_directory * Removed deprecated GLib::Win32.get_package_installation_subdirectory * Added user_data to RGConvertTable callbacks * rbgobj_convert_define() copies passed RGConvertTable * Removed deprecated G_DEF_FUNDAMENTAL. Use RG_DEF_CONVERSION instead ==== Ruby/GIO2 * Improvements * Installed headers ==== Ruby/ATK * Improvements * [windows] Updated to the latest ATK: 1.32.0 -> 2.6.0 ==== Ruby/Pango * Improvements * [windows] Updated to the latest Pango: 1.28.3 -> 1.32.6 ==== Ruby/GdkPixbuf2 * Improvements * [windows] Updated to the latest gdk-pixbuf: 2.24.0 -> 2.26.5 ==== Ruby/GTK2 * Improvements * Removed needless not copy flag from Allocation * [windows] Updated to the latest GTK+ 2: 2.24.8 -> 2.24.14 ==== Ruby/GDK3 * Improvements * [windows] Supported: 3.6.4 ==== Ruby/GTK3 * Improvements * Removed needless not copy flag from Allocation * [windows] Supported: 3.6.4 ==== Ruby/GObjectIntrospection * Improvements * Supported over loaded method * Supported over loaded constructor * Supported GBoxed object * Supported char * * Supported GInterface * Supported CallableInfo * Supported may be null * Supported union object * Supported not GBoxed struct * Supported out parameter * Supported C array * Added "?" suffix to predicate method name * Supported SourceFunc callback * Supported GValue * Added GObjectIntrospection::Loader.register_boxed_class_converter * Supported inout parameter * Supported binary data array * Changes * ArgInfo#[] -> ArgInfo#get_arg ==== Ruby/CairoGObject * Added ==== Ruby/Clutter * Added ==== Ruby/ClutterGtk * Added == Ruby-GNOME2 1.1.9: 2012-12-29 This is a experimental GObjectIntrospection support release. === Changes ==== Ruby/GLib2 * Improvements * Renamed G_DEF_CLASS4 to G_DEF_CLASS_WITH_PARENT. G_DEF_CLASS4 is still usable but it is deprecated. ==== Ruby/GObjectIntrospection * Added. It is still experimental. == Ruby-GNOME2 1.1.8: 2012-12-19 This is a bug fix release for Ruby 2.0.0. === Changes ==== All * Fixes * Fixed a bug that *.so isn't installed with Ruby 2.0.0. == Ruby-GNOME2 1.1.7: 2012-12-10 This is a package for Windows fix release. === Changes ==== Ruby/GTK2 * Fixes * Bundled GTK+ 2.24.8-1 instead of GTK+ 2.24.10-1. [Reported by Mahoro Shimura] === Thanks * Mahoro Shimura == Ruby-GNOME2 1.1.6: 2012-12-02 This is Ruby 2.0.0 support release! === Changes ==== All * Fixes * Fixed install error on Ruby 2.0.0. [ruby-gnome2-devel-en] Recent Ruby: 'depend' files must be changed [Reported by Carlo E. Prelz] ==== Ruby/GLib2 * Improvements * Improved portability a bit. '$,' is used instead of rb_output_fs. [GktHub:#117] [Reported by Marvin Gülker] ==== Ruby/GIO2 * Fixes * Fixed a crash bug on i386. [Reported by TAKATSU Tomonari] ==== Ruby/GTK2 * Improvements * Added Gtk::TreeModel#iter_root. [GitHub:121] [Patch by dmaciejak] * Added Gtk::TreeModel#iter_next. [GitHub:121] [Patch by dmaciejak] ==== Ruby/GdkPixbuf2 * Fixes * Fixed build errors with old gdk-pixbuf. ==== Ruby/Poppler * Improvements * Added missing required Poppler version. [Suggested by Grant Schoep] [ruby-gnome2-devel-en] poppler, build fails, incorrect required_pkg_config_package? * Fixes * Fixed a wrong package name on Red Hat and Fedora. [Reported by Grant Schoep] [ruby-gnome2-devel-en] poppler, build fails, incorrect required_pkg_config_package? * Changes * Disabled auto Poppler install for Homebrew. It requires --with-glib option but auto install with --with-glib option isn't supported yet. ==== Ruby/GooCanvas * Improvements * Added Goo::Canvas#update. [GitHub:119] [Patch by dmaciejak] * Added Goo::Canvas#request_update. [GitHub:119] [Patch by dmaciejak] * Added Goo::Canvas#convert_from_pixels. [GitHub:123] [Patch by dmaciejak] * Added Goo::Canvas#convert_to_pixels. [GitHub:123] [Patch by dmaciejak] * Added Goo::Canvas#get_item_at. [GitHub:123] [Patch by dmaciejak] * Added Goo::Canvas#bounds. [GitHub:123] [Patch by dmaciejak] ==== Ruby/GStreamer * Improvements * Don't pass -h and --help to GStreamer. [GitHub:#118] [Reported by dmaciejak] === Thanks * TAKATSU Tomonari * dmaciejak * Grant Schoep * Carlo E. Prelz * Marvin Gülker == Ruby-GNOME2 1.1.5: 2012-08-29 This is a network support improvement release! === Changes ==== Ruby/GLib2 * Improvements * windows: Bundled glib-networking. ==== Ruby/GIO2 * Improvements * Added Gio::TlsCertificate. * Added Gio::TlsCertificateFlags. ==== Ruby/GTK2 * Improvements * Added Gtk.show_uri. * Fixes * Gtk::TreeStore#reorder: Fixed wrong the number of reorder values check. [SF.net#3561748] [Reported by Nounou] === Thanks * Nounou == Ruby-GNOME2 1.1.4: 2012-07-21 This is a easy to install release! === Changes ==== All * Improvements * Supported automatic required native packages install. ==== Ruby/GLib2 * Improvements * mkenums: Supported "/* < flags > */" tag. * mkenums: Supported two or more upper case characters such as "IO". * Before: GIOStatus -> g_iostatus * After: GIOStatus -> g_io_status * GIOCondition: Changed to GLib::Boxed object from integer. * GLib::Source#attach doesn't require context. * Fixes * Fixed wrong type conversion for GIOCondition. ==== Ruby/GIO2 * Improvements * Gio::Socket#create_source: Supported callback. * Fixes * Fixed return values. * Fixed wrong type conversions. ==== Ruby/GTK2 * Improvements * Re-supported GTK+ 2.10.0. [GitHub:115] [Patch by Grant Schoep] * Fixes * Fixed a typo in test script. [GitHub:109] [Reported by kimura wataru] ==== Ruby/GStreamer * Fixes * Fixed a test failure with GStreamer 0.10.36. [GitHub:111] [Reported by mtasaka] === Thanks * kimura wataru * mtasaka * Grant Schoep == Ruby-GNOME2 1.1.3: 2012-04-08 This is a bug fix release of 1.1.2. === Changes ==== Ruby/GLib2 * Improvements * Added required Ruby version into gemspec. * [GitHub#106] glib-mkenums.rb supported macro lines in header. This change is required for building with GLib 2.31.20. [Reported by mtasaka] * [GitHub#107] Supported tests on PPC. [Reported by mtasaka] * Fixes * Fixed handler_id type. ==== Ruby/GTK2 * Improvements * Added Gtk::TreeViewColumn#set_sort_column_id and Gtk::TreeViewColumn#sort_column_id= for GTK+ < 2.18. [ruby-gnome2-devel-en] Gtk::TreeViewColumn [Reported by grant schoep] * Added Gtk::InfoBar. * Added Gtk::MessageType. * Added Gtk::ResponseType. * Fixes * Fixed build failure with GTK+ < 2.12. [ruby-gnome2-devel-en] compile problems gtk2, ruby-gnome2-all-1.1.2 [Reported by grant schoep] * Fixed require failure with GTK+ < 2.14. [ruby-gnome2-devel-en] NameError: undefined method `color_selection' for class `Gtk::ColorSelectionDialog' [Reported by grant schoep] ==== Ruby/Poppler * Improvements * [GitHub#97] Added Poppler::Page#text_layout. [Patch by Andrey Kutejko] * [SF.net#3495948] Removed needless poppler-cairo check. [Reported by Pino Toscano] * Fixes * [GitHub#96] Fixed valid state of child index iterator. [Patch by Andrey Kutejko] * [GitHub#97] Fixed parameter check of Poppler::Page#get_text. [Patch by Andrey Kutejko] ==== Ruby/VTE * Fixes * Fixed build failure with VTE < 0.24. ==== Ruby/GStreamer * Improvements * Added Gst::Element#seek_simple. * Fixes * [GitHub#95] Fixed async test. [Reported by mtasaka] === Thanks * mtasaka * grant schoep * Andrey Kutejko * Pino Toscano == Ruby-GNOME2 1.1.2: 2012-01-15 This is a bug fix release of 1.1.1. === Changes ==== Ruby/GLib2 * Fixes * [GitHub#94] install missing header files. [Reported by mtasaka] ==== Ruby/Pango * Fixes * [GitHub#94] install a missing header file. [Reported by mtasaka] ==== Ruby/GdkPixbuf2 * Fixes * [GitHub#94] install missing header files. [Reported by mtasaka] === Thanks * mtasaka == Ruby-GNOME2 1.1.1: 2012-01-14 This is a bug fix release of 1.1.0. === Changes ==== Ruby/GLib2 * Fixes * [ruby-list:48587] Re: [ANN] Ruby-GNOME2 1.1.0 fix wrong parent class for GLib::IOChannelWin32Socket. [Reported by ashbb] ==== Ruby/GTK2 * Fixes * Fixed a bug that Gtk::ActionGroup#add_radio_actions always fail. ==== Ruby/GStreamer * Improvements * [win32] Supported FLAC. === Thanks * ashbb == Ruby-GNOME2 1.1.0: 2012-01-05 This is a source cleanup release. === Changes ==== Ruby/GLib2 * Improvements * [GitHub#65] Supported GLib 2.31. [Reported by mtasaka] * Supported comparing between GLib::Enum/GLib::Flags and Symbol. * Fixes * [GitHub#1] Fix GLib::Spawn regression. [Patch by Geoff Youngs] * Plugged memory leaks. * Fixed a crash by GC on Ruby 1.9. * Changes * Remove optional Ruby-GetText-Package dependency. ==== Ruby/GTK2 * Improvements * [ruby-gnome2-devel-en] FileChooserDialog raising warnings on Windows: Added hicolor-icon-theme into gem on Windows. [Suggested by Nikolai Weibull] * Fixes * Fixed a crash by GC. * Plugged memory leaks. * Fixed Gdk::GC#colormap= uses wrong value. * Fixed Gtk::TextBuffer#serialize uses wrong value. ==== Ruby/Pango * Fixes * Plugged memory leaks. ==== Ruby/GdkPixbuf * Improvements * Gdk::Pixbuf.new supports hash argument. * Fixes * Plugged memory leaks. ==== Ruby/GStreamer * Improvements * Supported Windows gem. * Improved memory management. * Fixes * [GitHub#86] Gstreamer: test_caps test fails. [Reported by mtasaka] * [GitHub#87] GStreamer: test_span test fails. [Reported by mtasaka] * [GitHub#87] GStreamer: test_create_clock test fails. [Reported by mtasaka] * [GitHub#89] GStreamer: test_fraction_range_new test fails. [Reported by mtasaka] * [GitHub#91] GStreamer: test_state "sometimes" fails. [Reported by mtasaka] ==== Ruby/Poppler * Fixes * Fixed a wrong conversion in Poppler::Document#find_dest. [Reported by Chloé Desoutter] === Thanks * Geoff Youngs * mtasaka * Chloé Desoutter * Nikolai Weibull == Ruby-GNOME2 1.0.3: 2011-09-19 This is a bug fix release of 1.0.2. === Changes ==== Ruby/GLib2 * Fixes * [#3411234] Supported RubyGems 1.8.6. [Tobias Pfeiffer, Kouhei Sutou] === Thanks * Tobias Pfeiffer == Ruby-GNOME2 1.0.2: 2011-09-18 This is a bug fix release of 1.0.1. === Changes ==== Ruby/GLib2 * Fixes * [#3411204] Supported RubyGems 1.8.6. [Tobias Pfeiffer, Kouhei Sutou] ==== Ruby/GTK2 * Fixes * Fixed the default theme on Windows. [ashbb, Kouhei Sutou] === Thanks * Tobias Pfeiffer * ashbb == Ruby-GNOME2 1.0.1: 2011-09-18 This is a bug fix release of 1.0.0. === Changes ==== Ruby/GLib2 * Improvements * GLib::IOChannel.open supports Windows. [OBATA Akio, Kouhei Sutou] * Added RVAL2STRV_FREE(), CSTRFILENAME2RVAL(), RVAL2STRV, STRV2RVAL(), G_REPLACE_SET_PROPERTY(), G_REPLACE_GET_PROPERTY() and G_REPLACE_ACTION(). [Nikolai Weibull] * Fixes * GLib::IOChannelWin32Socket.new uses raw socket handle not file descriptor. [NAKAMURA Usaku, Kouhei Sutou] ==== Ruby/GTK2 * Fixes * [#3383158] removed non LANG=C characters to be buildable on LANG=C environment. [Antonio Terceiro, Kouhei Sutou] * Fixed Gtk::FileFilter#add_custom crash. [Jeff Moore, Kouhei Sutou] * Fixed initialization order. [ashbb, Kouhei Sutou] ==== Ruby/GooCanvas * Improvements * Supported binary bundled gem. [HAYASHI Kentaro] ==== Ruby/GtkSourceView2 * Fixes * Fixed bundled binary directory path on Windows. [HAYASHI Kentaro] ==== Ruby/GtkMozEmbed * Deprecated. === Thanks * Antonio Terceiro * OBATA Akio * NAKAMURA Usaku * HAYASHI Kentaro * Jeff Moore * ashbb * Nikolai Weibull == Ruby-GNOME2 1.0.0: 2011-07-13 This is the first major release!!! === Changes ==== Document * Fixes * updated deprecated list in README. [Michal Suchanek, Kouhei Sutou] ==== Ruby/GLib2 * Improvements * bind g_io_channel_win32_new_socket() as GLib::IOChannelWin32Socket. [Kouhei Sutou] * Fixes * [#3312572] added missing parentheses. [Evan Phoenix] === Thanks * Evan Phoenix * Michal Suchanek == Ruby-GNOME2 0.90.9: 2011-06-11 NOTE: 0.90.x releases are for 1.0.0 major release. This is the last release of 0.90.x series. The next release will be 1.0.0! === Changes ==== All * Fixes * Fix a bug in version numbers. [Grant Schoep, Vincent Carmona] * Support 'bundle install' . ==== Ruby/GLib2 * Improvements * Support GLib::IOChannel.new(fd) and GLib::IOChannel#fd on Windows. * GLib::IOChannel#write returns written byte not self. [backward incompatible] ==== Ruby/GTK2 * Fixes * fix misc/bindings.rb sample (ruby 1.9). [Vincent Carmona] * [#3305589] fix Gtk::Window#add_accel_group misses a reference to accel group. [Piotr Korzuszek, Kouhei Sutou] * Support cairo related samples in Ruby 1.9. [Jon, Kouhei Sutou] ==== Ruby/GStreamer * Improvements * add Gst::Registry.update method. [Vincent Carmona] ==== Ruby/VTE * Fixes * [#3199587] fix pc install. [OBATA Akio, Kouhei Sutou] ==== Ruby/Poppler * Fixes * [#3292118] don't run needless tests. [Mamoru Tasaka, Kouhei Sutou] ==== Ruby/GtkSourceView2 * Improvements * support Windows. [S.Kitagawa] === Thanks * OBATA Akio * Grant Schoep * Mamoru Tasaka * Piotr Korzuszek * S.Kitagawa * Jon == Ruby-GNOME2 0.90.8: 2011-03-04 NOTE: 0.90.x releases are for 1.0.0 major release. A bug fix release of 0.90.7. === Changes ==== All * Fixes * 'make distclean' does not removed pkg-config files. ==== Ruby/GLib2 * Fixes * fix non-gem rcairo detection. [#3178228] [OBATA Akio, Kouhei Sutou] ==== Ruby/Atk * Fixes * fix 'make distclean' cleans needed a file. [Vincent Carmona] ==== Ruby/Pango * Fixes * fix 'make distclean' cleans needed a file. [Vincent Carmona] ==== Ruby/GTK2 * Fixes * fix require order. [id:kenhys] * [#3046538] fix crash by GC at exit. [Vincent Carmona, Kouhei Sutou] * gtk-demo samples with ruby 1.9 (excepted cairo ones). [Vincent Carmona] ==== Ruby/GooCanvas * Fixes * fix pc install. [#3178294] [OBATA Akio, Kouhei Sutou] ==== Ruby/GStreamer * Improvements * improve missing message. [Vincent Carmona] * add Gst::InstallPlugins. [Vincent Carmona, Kouhei Sutou] * Fixes * fix pc install. [#3178294] [OBATA Akio, Kouhei Sutou] * don't use rbgprivate.h. [#3188442] [Mamoru Tasaka, Kouhei Sutou] ==== Ruby/GtkMozEmbed * Fixes * fix pc install. [#3178294] [OBATA Akio, Kouhei Sutou] ==== Ruby/GtkSourceView2 * Fixes * fix pc install. [#3178294] [OBATA Akio, Kouhei Sutou] === Thanks * OBATA Akio * Vincent Carmona * id:kenhys * Mamoru Tasaka == Ruby-GNOME2 0.90.7: 2011-02-02 NOTE: 0.90.x releases are for 1.0.0 major release. A package fix release of 0.90.6. === Changes ==== Ruby/GLib2 * Improvements * force remove "-Wl,--no-undefined" linker option because Ruby-GNOME2 packages doesn't support the option. [Dobai-Pataky Bálint, Kouhei Sutou] ==== Ruby/GTK2 * Improvements * use "MS-Windows" GTK+ theme by default on Windows. [ashbb, Kouhei Sutou] === Thanks * ashbb * Dobai-Pataky Bálint == Ruby-GNOME2 0.90.6: 2011-01-29 NOTE: 0.90.x releases are for 1.0.0 major release. Removed deprecated packages. All supported packages support RubyGems. All supported packages except Ruby/VTE, Ruby/GStreamer and Ruby/GtkMozEmbed support also Windows binary bundled gem. === Changes ==== All * remove all deprecated packages. [Masaaki Aoyagi] * all supported packages support RubyGems. [Masaaki Aoyagi] ==== Ruby/GLib2 * Imrpovements * add gnome2-raketask.rb that is a utility library to define Rake tasks for Ruby-GNOME2 packages. [Masaaki Aoyagi, Kouhei Sutou] * Fixes * fix GType conversion. [Kouhei Sutou] * fix rcairo installed by RubyGems detection. [Masaaki Aoyagi] ==== Ruby/GIO2 * Improvements * support GIO 2.26. [Nikolai Weibull] ==== Ruby/GStreamer * Improvements * add Gst::MissingURISourceMessage. [Vincent Carmona, Kouhei Sutou] * support RubyGems. [Masaaki Aoyagi] ==== Ruby/Pango * Fixes * rename Pango::LayoutIter#at_last_line! to at_last_line? because at_last_line is a predicate method. (at_last_line! still exists for backward compatibility.) [mrkn, Kouhei Sutou] ==== Ruby/GtkMozEmbed * Improvements * support RubyGems. [Masaaki Aoyagi] * Fixes * support "2.0b7" style module version. #3141244 [reandr, Kouhei Sutou] ==== Ruby/GooCanvas * Improvements * support RubyGems. [Masaaki Aoyagi] ==== Ruby/GtkSourceView2 * Improvements * support RubyGems. [Masaaki Aoyagi] ==== Ruby/VTE * Improvements * support RubyGems. [Masaaki Aoyagi] === Thanks * Vincent Carmona * mrkn * reandr * Nikolai Weibull * Masaaki Aoyagi == Ruby-GNOME2 0.90.5: 2010-10-28 NOTE: 0.90.x releases are for 1.0.0 major release. A build system improvements release. === Changes ==== All * Improvements * add --with-pkg-config-dir option to extconf.rb for *.pc. ==== Ruby/GLib2 * Improvements * glib-mkenums.rb can work with Ruby 1.9 on LANG=C. [Kouhei Sutou] * Bug fixes * fix pkg-config gem dependency. [Kouhei Sutou] == Ruby-GNOME2 0.90.4: 2010-10-24 NOTE: 0.90.x releases are for 1.0.0 major release. A bug fix release of 0.90.3. === Changes ==== Ruby/GLib2 * Bug fixes * add missing '*' for String type conversion. [#3093789] [tmtms, Kouhei Sutou] ==== Ruby/GIO2 * Bug fixes * Remove needless cairo dependency. [OBATA Akio, Kouhei Sutou] ==== Ruby/Libglade2 * Improvements * Don't install *.pc by default. [OBATA Akio, Kouhei Sutou] === Thanks * OBATA Akio * tmtms == Ruby-GNOME2 0.90.3: 2010-10-23 NOTE: 0.90.x releases are for 1.0.0 major release. * Support String encoding in Ruby 1.9. * RVAL2CSTR2 and CSTR2RVAL2 are deprecated. * Ruby/GIO2 is imported as an experimental library. === Changes ==== All * Support String encoding. [Guillaume Cottenceau, Neil Roberts, Kouhei Sutou] * Don't install *.pc by default. Set pkgconfigdir make varialbe like 'make pkgconfigdir=/usr/lib/pkgconfig'. ==== Ruby/GLib2 * Improvements: * declare argument types. [Nobuyoshi Nakada, Kouhei Sutou] ==== Ruby/GIO2 * Imported as an experimental library. [Nikolai Weibull] ==== Ruby/GTK2 * Improvements: * keep backward compatibility around GDK key symbols introduced at GTK+ 2.20. "[ruby-gnome2-devel-en] Constants names change in Gdk::KeyVal" [Vincent Carmona] * move gdk-pixbuf and cairo related methods from Ruby/GdkPixbuf2. "[ruby-gnome2-devel-en] gtk2 dependency to gdkpixbuf2" [Andrea Dallera, Kouhei Sutou] * Bug fixes: * fix GType conversion in Gtk::ItemFactory.new on 64bit platform. [Grant McLean, Steve Wills, Kouhei Sutou] ==== Ruby/GdkPixbuf2 * Improvements: * move gdk-pixbuf and cairo related methods to Ruby/GTK2. "[ruby-gnome2-devel-en] gtk2 dependency to gdkpixbuf2" [Andrea Dallera, Kouhei Sutou] * change .pc filename from ruby-gdkpixbuf2 to ruby-gdk-pixbuf2. ==== Ruby/RSVG2 * Bug fixes: * add missing libcroco dependency on Windows. [U.Nakamura, Kouhei Sutou] ==== Ruby/Poppler * Improvements: * support Popper 0.15.0. [#3079667] [Mamoru Tasaka, Kouhei Sutou] * Bug fixes: * add missing libjpeg dependency on Windows. [U.Nakamura, Kouhei Sutou] * fix installed Ruby/GLib2 gem can't be detected. [kdmsnr, Kouhei Sutou] === Thanks * U.Nakamura * kdmsnr * Mamoru Tasaka * Guillaume Cottenceau * Vincent Carmona * Grant McLean * Steve Wills * Andrea Dallera * Nobuyoshi Nakada * Neil Roberts == Ruby-GNOME2 0.90.2: 2010-09-26 NOTE: 0.90.x releases are for 1.0.0 major release. A RubyGems package fix release. === Changes ==== All * fix path. [kimura wataru, Kouhei Sutou] ==== Ruby/GTK2 * Bug fixes: * fix gtk2/base.rb is missing in gem. [S.Kitagawa, Kouhei Sutou] ==== Ruby/GIO2 * Bug fixes: * fix a typo in .pc name. [#3075619] [O01eg, Kouhei Sutou] ==== Ruby/RSVG2 * Bug fixes: * also check rb_cairo.h availability. [#3075617] [O01eg, Kouhei Sutou] === Thanks * S.Kitagawa * O01eg * kimura wataru == Ruby-GNOME2 0.90.1: 2010-09-23 NOTE: 0.90.x releases are for 1.0.0 major release. A install bug fix release of 0.90.0. === Changes ==== Ruby/ATK * Bug fixes: * fix .pc install path. [OBATA Akio, Kouhei Sutou] ==== Ruby/GTK2 * Bug fixes: * fix .pc install path. [OBATA Akio, Kouhei Sutou] ==== Ruby/Pango * Bug fixes: * fix .pc install path. [OBATA Akio, Kouhei Sutou] ==== Ruby/Poppler * Bug fixes: * fix .pc install path. [OBATA Akio, Kouhei Sutou] ==== Ruby/RSVG * Bug fixes: * fix .pc install path. [OBATA Akio, Kouhei Sutou] === Thanks * OBATA Akio == Ruby-GNOME2 0.90.0: 2010-09-23 NOTE: 0.90.x releases are for 1.0.0 major release. RubyGems support! === Changes ==== Ruby/GTK2 * Bug fixes: * [ruby-gnome2-devel-en] Gtk 2.20, Gtk::Builder and 'name' add Gtk::Buildable#builder_name/set_builder_name. [Simon Arnaud, Kouhei Sutou] === Thanks * Simon Arnaud == Ruby-GNOME2 0.19.4: 2011-04-17 NOTE: 0.19.x releases are development series. This release has many bug fixes and some improvements. The fixed bugs include a memory leak bug on GC. If your application live long time, you should upgrade. === Changes ==== Ruby/GLib2 * Bug fixes: * fixed type_register on Ruby 1.9. [Simon Arnaud, Kouhei Sutou] * fixed memory leak in GC. [Kouhei Sutou] ==== Ruby/GTK2 * Bug fixes: * [#2865895] support GdkWindow's cursor property. NOTE: GTK+ 2.18.0 is unsupported version. [Guillaume Cottenceau, Mamoru Tasaka] * Gtk::MenuItem.new accepts nil as a label. [Kazuhiro NISHIYAMA, Kouhei Sutou] * fixed wrong conversion in Gtk::TreePath#<=>. [Takeuchi Yusuke, Kouhei Sutou] * fix Gtk::RecentInfo#application_info's double free bug. [Kouhei Sutou] * Improvements: * Gdk::Window#invalidate accepts nil as 'area' argument. It means 'invalidates whole window'. [Hiroyuki Ito] * Gtk::Clipbord#request_text sets UTF-8 encoding in Ruby 1.9. [Rg Rg, Kouhei Sutou] * add Gtk::TreePath#==. [Takeuchi Yusuke, Kouhei Sutou] ==== Ruby/Pango * Improvements: * add Pango::Gravity. [Hiroyuki Ito, Kouhei Sutou] ==== Ruby/GdkPixbuf * add Gdk::Pixbuf#pixels=. [Michal Suchanek] ==== Ruby/GStreamer * Bug fixes: * [#2920997] fix argument type. [Johan Kiviniemi] * [#2924886] implement Gst::MessageTag#parse. [Vincent Carmona] ==== Ruby/GtkMozEmbed * Bug Fixes: * [#2924766] fix -Wl,-rpath syntax. [OBATA Akio] * [#2925285] Gtk::MozEmbed#chrome_mask fails. [tobi, Kouhei Sutou] * support XULRunner 1.9.2. [OBATA Akio] === Thanks * Guillaume Cottenceau * Mamoru Tasaka * Michal Suchanek * Simon Arnaud * Kazuhiro NISHIYAMA * Johan Kiviniemi * OBATA Akio * Hiroyuki Ito * Rg Rg * Vincent Carmona * tobi * Takeuchi Yusuke == Ruby-GNOME2 0.19.3: 2009-09-24 NOTE: 0.19.x releases are development series. This release is a bug fix release of 0.19.2. === Changes ==== Ruby/GLib2 * Bug fix: * really fix 'empty $(vendorarchdir) related build problem on CentOS 5.3 x86_64.' [Simon Arnaud, Kouhei Sutou] === Thanks * Simon Arnaud == Ruby-GNOME2 0.19.2: 2009-09-23 NOTE: 0.19.x releases are development series. This release is a bug fix release of 0.19.1. === Changes ==== Ruby/GLib2 * Bug fixes: * empty $(vendorarchdir) related build problem on CentOS 5.3 x86_64. [Toshiyuki Suzumura, Kouhei Sutou] * [#2862022] fix multi thread blocking with Ruby 1.8.6-p368 or later and 1.8.7-p173 or later. [Roy Wright, Andrea Dallera, Kouhei Sutou] * [Debian #502262] work Ruby thread with GTK+. [Johan Walles, Kouhei Sutou] ==== Ruby/GTK2 * Bug fixes: * [#2679744] fix a typo: Gtk::Widget#set_scroll_adjustment -> Gtk::Widget#set_scroll_adjustments. [Kentaro Fukuchi, Kouhei Sutou] ==== Ruby/GtkMozEmbed * Bug fixes: * fix .pc detection. [OBATA Akio, Kouhei Sutou] === Thanks * OBATA Akio * Toshiyuki Suzumura * Roy Wright * Andrea Dallera * Johan Walles * Kentaro Fukuchi == Ruby-GNOME2 0.19.1: 2009-07-26 NOTE: 0.19.x releases are development series. This release is a bug fix release of 0.19.0. === Changes ==== Ruby/GTK2 * use RUBYARCHDIR [OBATA Akio] * #2814953: install missing headers [Mamoru Tasaka] ==== Ruby/GLib2 * Bug fixes: * avoid object allocation while GC [OBATA Akio, Kouhei Sutou] * use RUBYARCHDIR [OBATA Akio] * mkmf-gnome2.rb add "-I$(vendorarchdir)" to $CPPFLAGS. [OBATA Akio, Kouhei Sutou] ==== Ruby/ATK * use RUBYARCHDIR [OBATA Akio] ==== Ruby/Pango * use RUBYARCHDIR [OBATA Akio] * use gem version rcairo as fallback [OBATA Akio] ==== Ruby/Libart * use RUBYARCHDIR [OBATA Akio] ==== Ruby/GdkPixbuf * use gem version rcairo as fallback [OBATA Akio] ==== Ruby/GnomePrint * install rblibgnomeprintversion.h [OBATA Akio, Kouhei Sutou] ==== Ruby/GtkMozEmbeded * fix header generation error caused by missing file [OBATA Akio] ==== Ruby/VTE * support VTE 0.20 [Kouhei Sutou] ==== Ruby/PanelApplet * #2815036: re-support Ruby 1.8.6. [Mamoru Tasaka, Kouhei Sutou] ==== Ruby/Libglade2 * Debian#519786: fix GC related SEGV when a widget in glade is removed by hand. [Arnaud Cornet, Kouhei Sutou] === Thanks * OBATA Akio * Mamoru Tasaka * Arnaud Cornet == Ruby-GNOME2 0.19.0: 2009-05-29 NOTE: 0.19.x releases are development series. This release supports new versions of panel-applet and xulrunner and fixes various bugs including some GC issues === Changes Ruby/GLib2: * add 'const' to name argument of rbgerr_define_gerror() [Nikolai Weibull, Kouhei Sutou] * Bug fixes: * #2420281: Failed to build [troels knak-nielsen, Kouhei Sutou] * #2493874: glib/rbglib_maincontext.c error in "RUBY_UBF_IO" [boo, Kouhei Sutou] * wrong priority conversion in GLib::Timeout.add and GLib::Timeout.add_seconds. [Nikolai Weibull] * fixed limits of basic types [Pascal Terjan] Ruby/GTK2: * Bug fixes: * fixed initialize function is deleted. [kimura wataru, Kouhei Sutou] * checked GTK_FILE_SYSTEM_ERROR availability. GTK+ 2.15.x doesn't have it. [Kouhei Sutou] * fixed GC problems. [Kouhei Sutou] * #2195432: Gtk::RCStyle.set_color_flags wrong conversion [Jesse van den Kieboom, Kouhei Sutou] * #2318481: gtkselectiondata_set Drag and Drop API problem [dave foster, Kouhei Sutou] * #2420281: Failed to build [troels knak-nielsen, Kouhei Sutou] Ruby/Pango: * added Pango::Attribute#start_index= and Pango::Attribute#end_index=. [Geoff Youngs, Kouhei Sutou] Ruby/Poppler: * removed 0.6.x support. 0.8.0 or later is required. [Kouhei Sutou] Ruby/RSVG2: * fixed broken cairo integration. [James Healy, Kouhei Sutou] Ruby/PanelApplet: * #2466921: fixed build failure with libpanel-applet >= 2.25 [Mamoru Tasaka, Kouhei Sutou] * fixed incomplete install. [Pascal Terjan, Kouhei Sutou] Ruby/GtkMozEmbed: * supported XULRunner 1.9.0. [Arnaud Cornet, Kouhei Sutou] Ruby/GNOME2: * supported MinGW. [id:luna_8bit, Kouhei Sutou] Ruby/Bonobo2: * moved Bonobo.setup_x_error_handler to Ruby/BonoboUI2. [id:luna_8bit, Kouhei Sutou] Ruby/BonoboUI2: * moved Bonobo.setup_x_error_handler from Ruby/Bonobo2. [id:luna_8bit, Kouhei Sutou] Ruby/GnomeVFS: * format security error. [Pascal Terjan] === Thanks * kimura wataru * Philipp Götzinger * Andrew S. Townley * Jesse van den Kieboom * James Healy * dave foster * troels knak-nielsen * boo * Geoff Youngs * Arnaud Cornet * id:luna_8bit == Ruby-GNOME2 0.18.0: 2008-09-30 This release fixes some memory leak bugs and has new experimental packages. === Changes Ruby/GLib2: * mkmf-gnome2.rb: add check_cairo. [Kouhei Sutou] * fixed memory leaks. [Kouhei Sutou] * [#2110165] Gdk::Pixbuf memory leak * install glib-enum-types.h. [Andy Spencer] * [#2106938] Install glib-enum-types.h Ruby/GTK2: * add GTK+ 2.12 related bindings. [Guillaume Cottenceau] * fixed initialize order. [Kouhei Sutou] * [#2113491] Incorrect initialize order (compiling with mingw) Ruby/GooCanvas [NEW][EXPERIMENTAL]: * added. [Kouhei Sutou] Ruby/Pango: * fixed memory leaks. [Kouhei Sutou] Ruby/GtkSourceView2 [NEW][EXPERIMENTAL]: * add. [yselkowitz] === Thanks * OBATA Akio * James Healy * Ricky Zheng * Guillaume Cottenceau * Ricky Zheng == Ruby-GNOME2 0.17.0: 2008-09-07 === Release notes * This Release supports Ruby 1.8.7 and has many bug fixes and new bound functions. === Main changes Ruby/GLib: * [#2060606] Crash when removing ruby applet from gnome panel with 0.7rc1 [Kouhei Sutou] Ruby/GTK: * [#2025651] FTBFS with gtk+ 2.13.5 [Cesare Tirabassi, Kouhei Sutou] * [#2043970] Segfaults on 64-bit Linux [Neil Roberts, Kouhei Sutou] Ruby/Pango: * [#2043970] Pango::FontDescription#weight= seg fault [Kouhei Sutou] Many other changes, GC bugs, Segfault fixes. See corresponding ChangeLog for detailed information on changes and contributors. === Thanks Special thanks for your contributions to: (list in no particular order) * Neil Roberts * Cesare Tirabassi * Arnaud Cornet == Ruby-GNOME2 0.17.0-rc1: 2008-06-06 === Release notes * This Release Candidate seems to be pretty stable. Please give us feedback if you encounter any problems. * The win32 bindings will be released later and will be considered as EXPERIMENTAL The changes marked with 2 stars (**) may currently not work on win32 platforms. === Main changes Ruby/GLib: * Bound functions defined since 2.14 and 2.16. * Improved main loop polling. ** * Improved callback handling from non Ruby thread. ** This changes breaks API. Sjoerd, you need to call rbgutil_start_callback_dispatch_thread() in your GStreamer bindings. Sorry. * Supported convenience GEnum and GFlags notation. e.g.: GLib::UTF8.normalize(utf8, GLib::NormalizeMode::NFD) -> GLib::UTF8.normalize(utf8, :nfd) key_file.load_from_data(data, GLib::KeyFile::KEEP_COMMENTS | GLib::KeyFile::KEEP_TRANSLATIONS) -> key_file.load_from_data(data, [:keep_contents, :keep_translations]) * Fixed locale dependent constant name computation. [#1901843] [Kouhei Sutou] Ruby/GTK: * partially support new symbols in 2.12 (Gtk::RecentAction, Gtk::TextBuffer, Gdk::Display, Gtk::TreeViewColumn, Gtk::Stock, Gtk::Widget, Gtk::ScaleButton, Gtk::TreeView, Gtk::VolumneButton, Gtk::Tooptip and Gtk::TextMark only). * [#2025651] FTBFS with gtk+ 2.13.5 [Cesare Tirabassi, Kouhei Sutou] * [#2043970] Segfaults on 64-bit Linux [Neil Roberts, Kouhei Sutou] Ruby/GStreamer: * Worked with GStreamer >= 0.10.x but isn't completed yet. Ruby/Poppler: * Supported poppler-glib 0.6.x and 0.8.0. [Kouhei Sutou] Ruby-GNOME2: * Ruby-GNOME2 can be built with ruby 1.9.0 but doesn't work well without [ruby-dev:34104] patch. * Some extconf.rb improvements Many other changes, GC bugs, Segfault fixes. See corresponding ChangeLog for detailed information on changes and contributors. === Thanks Special thanks for your contributions to: (list in no particular order) * Kazuhiro NISHIYAMA * Kouhei Sutou * Kero van Gelder * Masahiro Sakai * Detlef Reichl * Guillaume Cottenceau * Masahiro Sakai * Mikael Hallendal * Carlo E. Prelz * Sjoerd Simons * Juergen Mangler * Dirk von Schmieden * Mathieu Blondel * Joseph Method * Masayuki Yamaguchi And also special thanks to all other contributors not listed above! == Ruby-GNOME2 0.16.0: 2006-12-30 Ruby-GNOME2: * Fixed serious bugs (depends on GC) * Support GTK+-2.10 and the latest version of each libraries. * Don't include Ruby/GStreamer and Ruby/Libgda. We cancel to support Ruby/GStreamer and Ruby/Libgda. * Cancel to support ruby-1.6.x and GTK+-2.4 or earlier. Ruby/GLib: * Support GLib+-2.10 APIs. [Kouhei Sutou, Masao Mutoh] * Fix segfaults related GC with signal handlers. [Guillaume Cottenceau, Kouhei Sutou] * Add functions for Unicode Manipulation [Kouhei Sutou] GLib::Unicode, GLib::UTF8, GLib::UTF16, GLib::UCS4, GLib::UniChar * Add Key-value file parser [Masao Mutoh] GLib::KeyFile * Add Bookmark file parser [Masao Mutoh] GLib::BookmarkFile * Add Win32 compatibility functions [Masao Mutoh] GLib::Win32 * Add glib-mkenums.rb [Kouhei Sutou, Masao Mutoh] * Other improvement and fix bugs.[Kouhei Sutou, Masao Mutoh] Ruby/ATK: * Support ATK-1.12 APIs. [Masao Mutoh] Ruby/Pango: * Support Pango-1.2, 1.4 APIs [Masao Mutoh] * Fix some bugs. [Masao Mutoh] Ruby/GdkPixbuf: * Move Cairo::Context#set_source_pixbuf from Ruby/GTK.[Kouhei Sutou] You can use the methods unless X server. Ruby/GTK: * Support GTK+-2.10. [Pascal Terjan, Kouhei Sutou, Masao Mutoh] Gtk::PrintUnixDialog, Gtk::PageSetupUnixDialog, Gtk::Print*, Gtk::PageSet Gtk::LinkButton, Gtk::Recent*, Gtk::Assistant, Gtk::StatusIcon * Other improvement and fix bugs [Sjoerd Simons, Kouhei Sutou, Masao Mutoh] Ruby/GNOME: * None. Ruby/GnomeCanvas: * Fixed a bug and trivial improvement. [Masao Mutoh] Ruby/Libglade: * Fixed some bugs and trivial improvement. [Kouhei Sutou, Masao Mutoh] Ruby/Libart: * a trivial improvement. [Kouhei Sutou] Ruby/GConf: * Sample code cleanup. [Masao Mutoh] Ruby/GnomeVFS: * None. Ruby/GtkHtml2: * None. Ruby/GtkGLExt: * None. Ruby/PanelApplet: * None. Deprecated (Use Gtk::StatusIcon in Ruby/GTK+) Ruby/GtkSourceView: * Support gtksourceview-1.8. Some improvements. [Kouhei Sutou, Masao Mutoh] Ruby/GnomePrint: * None. Ruby/GnomePrintUI: * a trivial improvement. [Kouhei Sutou] Ruby/RSVG: * Added a sample [Kouhei Sutou] * Improved, fixed bugs [Kouhei Sutou] Ruby/GtkMozEmbed: * a trivial improvement. [Masao Mutoh] Ruby/Poppler: * Improved, fixed bugs [Kouhei Sutou] Ruby/VTE: * None. Ruby/GStreamer: * Canceled. Ruby/Libgda: * Canceled. == Ruby-GNOME2-0.15.0: 2006-07-01 Ruby/GLib: * Improve signal handlers with pthread ruby(--enable-pthread). [Sjoerd Simons] * Added new fundamental object for other bindings. [Sjoerd Simons] * GLib::Source#remove -> GLib::Source.remove [Kouhei Sutou] * Added new macros (GLIST2ARYF, GLIST2ARY2F, GSLIST2ARYF, GLIST2ARY2F, G_PROTECT_CALLBACK) [Masao Mutoh] * Added GLib.win32_locale, GLib, win32_locale_filename_from_utf8 [Kouhei Sutou] * Improve memory management [Kouhei Sutou, Sjoerd Simons, Masahiro Sakai, Masao Mutoh] * Other improvement and fix bugs. [Sjoerd Simons, Joao Pedrosa, Kouhei Sutou, Masahiro Sakai, Masao Mutoh] Ruby/ATK: * Improved cygwin support. [Masao Mutoh] * Fix a bug. [Masahiro Sakai] Ruby/Pango: * Fix some bugs. [Laurent Sansonetti, Masao Mutoh] * Added Pango::Layout#markup=, Pango::AttrAbsoluteSize [Masao Mutoh] Ruby/GdkPixbuf: * Fix a bug. [NISHI Takao] * Code cleanup [Masao Mutoh] Ruby/GTK: * Improve signal handlers. [Masahiro Sakai] * Added Gtk::Widget#set_widget, #set_requisition. [Daniel Chokola] * Added Gtk::Dialog#get_response. [Masao Mutoh] * Other improvement and fix bugs [Mario Steele, Tilman Sauerbeck, Geoff Youngs, Masahiro Sakai, Kouhei Sutou, Masao Mutoh] Ruby/GNOME: * Follow Ruby/GLib2 change(GRClosure). [Kouhei Sutou] Ruby/GnomeCanvas: * Code cleanup [Kouhei Sutou, Masao Mutoh] Ruby/Libglade: * Fixed some bugs and trivial improvement. [Masao Mutoh] Ruby/Libart: * None. Ruby/GConf: * Sample code cleanup. [Masao Mutoh] Ruby/GStreamer: * Sample code cleanup. [Masao Mutoh] Ruby/GnomeVFS: * Improved and fixed bugs. [Masahiro Sakai, Masao Mutoh] Ruby/GtkHtml2: * Sample code cleanup. [Masao Mutoh] Ruby/GtkGLExt: * Improved and fixed bugs. [Kouhei Sutou, Masao Mutoh] Ruby/Libgda: * Fix build against 1.3.x branch (libgda-2.x). [Laurent Sansonetti] Ruby/PanelApplet: * Fixed a bug [Patch #1431855] Ruby/GtkSourceView: * Sample code cleanup. [Masao Mutoh] Ruby/GnomePrint: * Added Gnome::Print::BINDING_VERSION. Code cleanup [Kouhei Sutou] Ruby/GnomePrintUI: * Added Gnome::PrintUI::BINDING_VERSION. [Kouhei Sutou] * Sample code cleanup. [Masao Mutoh] Ruby/RSVG: * Added RSVG::BINDING_VERSION, RBRSVG_MAJOR_VERSION, RBRSVG_MINOR_VERSION, RBRSVG_MICRO_VERSION. [Kouhei Sutou] * Supported 2.14. * Improved, fixed bugs [Kouhei Sutou, Masao Mutoh] Ruby/GtkMozEmbed: * Improved, fixed bugs [Mirko Maischberger, Masao Mutoh] Ruby/Poppler [NEW] [EXPERIMENTAL]: * Added [Kouhei Sutou] Ruby/VTE [NEW]: * Added [Kouhei Sutou] == Ruby-GNOME2 0.14.1: 2005-11-06 Ruby/GLib: * Fix memory leaks. [Masao Mutoh] Ruby/ATK: * None. Ruby/Pango: * Fix some bugs. [Masao Mutoh] Ruby/GdkPixbuf: * None. Ruby/GTK: * Improve memory management. [Masao Mutoh] Ruby/GNOME: * None. Ruby/GnomeCanvas: * None. Ruby/Libglade: * None. Ruby/Libart: * None. Ruby/GConf: * None. Ruby/GStreamer: * None. Ruby/GnomeVFS: * None. Ruby/GtkHtml2: * None. Ruby/GtkGLExt: * None. Ruby/Libgda: * None. Ruby/PanelApplet: * None. Ruby/GtkSourceView: * None. Ruby/GnomePrint: * None. Ruby/GnomePrintUI: * None. Ruby/RSVG: * None. Ruby/GtkMozEmbed: * None. == Ruby-GNOME2 0.14.0: 2005-10-16 Ruby/GLib: * Fix segfault related on GC. [Masao Mutoh] * Support Ruby-GetText-Pacakge(Include pseudo GetText module). [Masao Mutoh] * Add and completed: [Masao Mutoh] * Glib::Shell, GLib::Completion, GLib::Timer, sample/shell.rb, completion.rb, timer.rb. * Add some methods, improved, fixed bugs: [Pascal Terjan, Sven Herzberg, Masao Mutoh] * GLib, GLib::Object, GLib::MetaInterface, GLib::Enum, GLib::Flags, PKGConfig, extconf.rb, mkmf-gnome2.rb Ruby/ATK: * Support ATK-1.10. [Masao Mutoh] * Add Atk::BUILD_VERSION. [Masao Mutoh] * Add some methods, improved, fixed bugs: [Masao Mutoh] * Atk, Atk::Relation, Atk::RelationSet, Atk::StreamableContent, Atk::Text::Attribute, Atk::Util * Add and completed: [Masao Mutoh] * Atk::Util::KeyEventType Ruby/Pango: * Support Pango-1.10 and cairo [Kouhei Sutou, Masao Mutoh] * Add Pango::BUILD_VERSION. [Masao Mutoh] * Add some methods, improved, fixed bugs: [Kouhei Sutou, Masao Mutoh] * Pango, Pango::Layout, Pango::LayoutLine, Pango::LayoutIter, Pango::Language, Pango::Font, Pango::GlyphItem, Pango::GlyphString, Pango::Context, Pango::Analysis, Pango::Item * Add and completed: [Masao Mutoh] * Pango::ScriptIter, Pango::Script, Pango::(.*)FontMap, Pango::(.*)Face, Pango::(.*)Family, Pango::XFont, Pango::FT2Font, sample/script.rb, break.rb, item.rb, layout.rb * Add classes: [Kouhei Sutou, Masao Mutoh] * Pango::Engine, Pango::EngineShape, Pango::EngineLang Cairo::Context, Pango::CairoFcFont, Pango::CairoFont, Pango::CairoWin32Font, Pango::CairoFontMap * Rename class name: [Masao Mutoh] * Pango::FontSet -> Pango::Fontset, Pango::FontSetSimple -> Pango::FontsetSimple. Ruby/GdkPixbuf: * Support GTK+-2.8. [Guillaume Cottenceau] * Add some methods, improved, fixed bugs: [Kouhei Sutou, Guillaume Cottenceau] * Gdk::Pixbuf * Add and completed: [Guillaume Cottenceau] * Gdk::PixbufSimpleAnim, sample/simpleanim.rb Ruby/GTK: * Support GTK+-2.8. [Guillaume Cottenceau, Masao Mutoh] * Support cairo. [Kouhei Sutou, Masao Mutoh] * Add Gtk::BUILD_VERSION. [Masao Mutoh] * Add some methods, improve, fix bugs: [Guillaume Cottenceau, Masao Mutoh] * Gdk, Gdk::Drawable, Gdk::Display, Gdk::Drawable, Gdk::Cursor, Gdk::Window, Gdk::Screen, Gtk::Action, Gtk::Dialog, Gtk::Drag, Gtk::EntryCompletion, Gtk::FileChooser, Gtk::IconView, Gtk::Image, Gtk::Menubar, Gtk::MenuShell, Gtk::ScrolledWindow, Gtk::SizeGroup, Gtk::Stock, Gtk::TextBuffer, Gtk::TextIter, Gtk::ToolButton, Gtk::TreeRowReference, Gtk::TreeView, Gtk::TreeViewColumn, Gtk::Window, sample/gtk-demo/*.rb * Add: [Guillaume Cottenceau, Kouhei Sutou] * Cairo::Context, Gdk::EventGrabBroken, sample/gtk-demo/cairo_*.rb, sample/misc/rgtk+cairo.rb Ruby/GNOME [Masao Mutoh]: * Support libgnome/libgnomeui-2.12. * Add Gnome::BUILD_VERSION. * Add some methods, improve, fix bugs: * Gnome, Gnome::Util, Gnome::URL, Gnome::Help, Gnome::App, Gnome::Client * Add: Gnome::GConf, Gnome::Sound, Gnome::Trigger * sample/gnome-trigger.rb, sample/gnome-sound.rb Ruby/GnomeCanvas: * Support libgnomecanvas-2.12. [Pascal Terjan, Masao Mutoh] * Add Gnome::Canvas::BUILD_VERSION. [Masao Mutoh] * Add some methods, improve, fix bugs: [Kouhei Sutoh, Pascal Terjan, Masao Mutoh] * Gnome::CanvasItem, Gnome::CanvasPathDef, Gnome::Canvas. * Add: Gnome::CanvasBuf. [Masao Mutoh] Ruby/Libglade [Masao Mutoh]: * Support libglade-2.12. * Add GladeXML::BUILD_VERSION. * Add some methods, improve, fix bugs: bin/ruby-glade-create-template, sample/l10n_*.rb, GladeXML Ruby/Libart [Masao Mutoh]: * Add Art::BUILD_VERSION. * Add: Art::Uta. Ruby/GConf: * Support Cygwin. [Yaakov Selkowitz] * Add GConf::BUILD_VERSION. [Masao Mutoh] Ruby/GStreamer: * Support on Ruby-1.9. [Laurent Sansonetti] * Add Gst::BUILD_VERSION. [Masao Mutoh] * Fix bugs, improve, add some methods: [Masao Mutoh] * Gst::Element Ruby/GnomeVFS: * Support Cygwin. [Yaakov Selkowitz] * Add GnomeVFS::BUILD_VERSION. [Masao Mutoh] * Fix bugs, improve, add some methods: [Masao Mutoh] * GnomeVFS Ruby/GtkHtml2 [Masao Mutoh]: * Add Gtk::HtmlContext::BUILD_VERSION. Ruby/GtkGLExt: * Added Gtk::GL::BUILD_VERSION. [Masao Mutoh] * Fix bugs, improve, add some methods: [Kouhei Sutou] * Gdk::Pixmap Ruby/Libgda: * Support Cygwin. [Yaakov Selkowitz] * Add Gda::BUILD_VERSION. [Masao Mutoh] Ruby/PanelApplet [Masao Mutoh]: * Add PanelApplet::BUILD_VERSION. Ruby/GtkSourceView [Masao Mutoh]: * Support GtkSourcView-1.4. * Add Gtk::SourceView::BUILD_VERSION. * Fix bugs, Improve, Add some methods: * Gtk::SourceView, Gtk::SourceBuffer, Gtk::SourceTag, Gtk::SourceTagStyleMask * Add and completed: * Gtk::SourceStyleScheme, Gtk::SourcePrintJob Ruby/GnomePrint [Kouhei Sutou]: * Support libgnomeprint-2.12. * Add Gnome::Print::BUILD_VERSION * Fix bugs, Improve, Add some methods: * Gnome::PrintContext * Add: sample/gp-pac.rb Ruby/GnomePrintUI [Kouhei Sutou]: * Support libgnomeprintui-2.12. * Add: * Gnome::PrintUI::BUILD_VERSION, Gnome::FontSelection, Gnome::FontPreview, Gnome::FontDialog, Gnome::PrintContentSelector Ruby/RSVG [Kouhei Sutou]: * Support rsvg-2.12. * Add RSVG::BUILD_VERSION Ruby/GtkMozEmbed [NEW]: * Merged. [Mirko Maischberber] * Add Gtk::MozEmbed::BUILD_VERSION [Masao Mutoh] == Ruby-GNOME2 0.13.0: 2005-07-31 Ruby/GLib: * Fixed GCC 4.0 warnings [Masao Mutoh] * Added and completed: [Masao Mutoh] * GLib:PollFD, GLib::Source, GLib::MainLoop, GLib::IOChannel, GLib::Idle, GLib::ChildWatch * Added some methods, improved, fixed bugs: [Vincent Isambart, Masao Mutoh] * PKGConfig, extconf.rb, * Added: [Masao Mutoh] * GLib::MainContext, sample/iochannel.rb, idle.rb, timeout.rb, timeout2.rb, tests/test-iochannel.*, runner.rb, Ruby/ATK: * None. Ruby/Pango: * Fixed GCC 4.0 warnings [Masao Mutoh] * Support x86_64 [Masao Mutoh] * Pango::Layout * Added some methods, improved, fixed bugs: [Mirko Maischberger, Pascal Terjan, Masao Mutoh] * sample/parse.rb, Pango::LayoutLine, Pango::Coverage, Pango::LayoutIter, Pango::FontFamily, Pango::Attriterator Ruby/GdkPixbuf: * Fixed GCC 4.0 warnings [Masao Mutoh] * Fixed bugs, Improved: [Mirko Maischberger, Masao Mutoh] * sample/*.rb Ruby/GTK: * Support x86_64 [Kouhei Sutou, Masao Mutoh] * Gdk::Atom, Gtk::ItemFactory, Gtk::Widget, Gtk::Drag, Gtk::SizeGroup * Fixed GCC 4.0 warnings [Masao Mutoh] * Fixed bugs, Improved, Added some methods: [Hiroyuki Ikezoe, KATO Kazuyoshi, Pascal Terjan, Kouhei Sutou, Mirko Maischberger, Masao Mutoh] * Gtk::ActionGroup, Gtk::IconTheme, Gtk::RC, Gtk::TreeModel, Gdk::TimeCoord, Gdk::Window, Gtk::CellView, Gtk::ToolButton, Gtk::MenuToolButton, Gdk, Gdk::Display, Gdk::GC, Gdk::PangoAttrEmbossed, Gdk::Drawable, Gtk::Window, sample/gtk-demo/main.rb, sample/misc/*.rb, sample/testgtk/*.rb. * Added: [KATO Kazuyoshi, Masao Mutoh] * sample/gtk-demo/hypertext.rb, sample/misc/colorselection.rb Ruby/GNOME [Mirko Maischberger]: * sh-bang (!#) normalization * sample/test-gnome/*.rb Ruby/GnomeCanvas [Kouhei Sutou]: * Support x86_64, Improved. [Kouhei Sutou] * Gnome::CanvasPathDef Ruby/Libglade: * None. Ruby/Libart: * Added [Kouhei Sutou] * Art::DRect, Art::IRect * Fixed bugs, Improved, Added some methods: [Kouhei Sutou, Masao Mutoh] * Art::Affine, Art::BPath. Art::Canvas Ruby/GConf: * None. Ruby/GStreamer: * Fixed GCC 4.0 warnings [Masao Mutoh] * Added: [Laurent Sansonetti] * Gst::XOverLay, sample/video-player.rb, * Fixed bugs, Improved, Added some methods: [Laurent Sansonetti] * Gst::Caps, Gst::Pad, Gst::Element, Gst::TagSetter Ruby/GnomeVFS [Masao Mutoh]: * Fixed bugs, Improved, Added some methods: GnomeVFS::File Ruby/GtkHtml2: * None. Ruby/GtkGLExt: * None. Ruby/Libgda: * None. Ruby/PanelApplet [Masao Mutoh]: * Check libpanel-applet version(2.6 or later): extconf.rb Ruby/GtkSourceView [Masao Mutoh]: * None. Ruby/GnomePrint: * Fixed GCC 4.0 warnings [Masao Mutoh] * Fixed bugs, Improved, Added some methods. [Kouhei Sutou] * Gnome::PrintContext, Gnome::PrintJob, Gnome::PrintConfig, Gnome::PrintUnit, Gnome::PrintPaper, src/lib/gnomeprint2.rb, sample/to_file.rb Ruby/GnomePrintUI: * Fixed GCC 4.0 warnings [Masao Mutoh] * Fixed bugs, Improved, Added some methods. [Kouhei Sutou] * Gnome::PaperSelector, Gnome::PrintUnitSelector, Gnome::PrintPreview, Gnome::PrintDialog, Gnome::PrintConfigDialog, sample/dialog.rb, Ruby/RSVG: * Fixed GCC 4.0 warnings [Masao Mutoh] * Fixed bugs, Improved, Added some methods. [Kouhei Sutou] == Ruby-GNOME2 0.12.0: 2005-03-06 Ruby/GLib: * Support GLib-2.6.x. [Masao, Mutoh] * Support MS VC++. [Masao, Mutoh] * Fix bugs, Improved, Added some methods. [KATO Kazuyoshi, Masao Mutoh] * PKGConfig, rbgobj_lookup_class(). * Added: [Masao, Mutoh] * GLib::Threads, src/lib/pkg-config.rb, sample/spawn.rb. Ruby/ATK [Dafydd Harries, Vincent Isambart, Masao Mutoh]: * Support MS VC++. * Fix bugs, Improved, Added some methods. * Follow Ruby/GLib changes. Ruby/Pango [Masao Mutoh]: * Support Pango-1.8.x. * Support MS VC++. * Follow Ruby/GLib changes. * Added and completed: * Pango::Renderer, Pango::Matrix, Pango::AttrStrikethroughColor, Pango::AttrUnderlineColor, Pango::GlyphItem * Added some methods, improved, fixed bugs: [Matthew Berg] * Pango::Context, Pango::AttList, Pango::Attribute, Pango::Layout, Pango, Pango::AttrSize, Pango::LogAttr, Pango::Item, Pango::Analysis, Pango::Font, Pango::FontDescription, Pango::FontFace, Pango::FontSet, Pango::AttrList, Pango::AttrIterator, Pango::Rectangle, Pango::Layout, Pango::LayoutLine, Pango::LayoutIter, Pango::GlyphInfo * Added * Pango::FcFont, Pango::XftFont, Pango::FontFcFontMap, Pango::XftFontMap. * Renamed, Moved * Pango::FontFamily#list_faces -> #faces. Ruby/GdkPixbuf [leon breedt, Masao Mutoh]: * Support GTK+-2.6.x. * Follow Ruby/GLib changes. * Fixed bugs, Improved, Added some methods for GTK+-2.6.x: * Gdk::PixbufAnimationIter, Gdk::Pixbuf, Gdk::PixbufLoader, Gdk::PixbufFormat Ruby/GTK: * Support Ruby-1.9.x. * Support Pango-1.8.x. * Support GTK+-2.6.x. * Support MS VC++. * Follow Ruby/GLib changes. * Improve to support gthread. * Added and completed for GTK+-2.6.x: [Darren Willis, * Gtk::CellRendererProgress, Gtk::ScrollStep, Gtk::IconView, Gtk::CellRendererCombo, Gtk::AboutDialog, Gdk::PangoRenderer, Gtk::CellView, Gtk::MenuToolButton, Gtk::FileChooserButton, Gdk::EventChange, Gdk::X11 * Fixed bugs, Improved, Added some methods for GTK+-2.6.x: [Mirko Maischberger, Joao Pedrosa, KATO Kazuyoshi, Masao Mutoh] * Gtk, Gtk::CellLayout, Gtk::RadioToolButton, Gtk::ToggleToolButton, Gtk::Stock, Gtk::Image, Gtk::Label, Gtk::Progressbar, Gtk::EntryCompletion, Gtk::TextBuffer, Gtk::FileFilter, Gtk::FileChooser, Gtk::Menu, Gtk::CellRenderer, Gtk::TreeView, Gtk::TextView, Gtk::TextBuffer, Gtk::Drag, Gtk::ToolItem, Gtk::ActionGroup, Gtk::Action, Gtk::ComboBox, Gtk::Combo, Gtk::IconTheme, Gtk::SelectionData, Gtk::TargetList, Gtk::ListStore, Gtk::Window, Gtk::ToggleAction, Gtk::MessageDialog, Gdk::Region, Gdk::Window, Gtk::Clipboard, Gtk::Settings, Gtk::TreeModel, Gtk::ModelFilter, Gtk::TreeViewColumn, Gtk::Widget, Gdk::Pango, Gdk::Display, Gdk::Drawable, Gtk::RadioAction, Gdk::Screen, Gtk::TextBuffer, Gdk::Threads, sample/gtk-demo/*.rb, sample/misc/threads.rb, pangorenderer.rb * Added: [KATO Kazuyoshi, Darren Willis, Masao, Mutoh] * sample/misc/tree_progress.rb, misc_button.rb, aboutdialog.rb, aboutdialog2.rb, sample/gtk-demo/clipboard.rb, entry_completion.rb, expander.rb, iconview.rb Ruby/GNOME [Masao Mutoh]: * Follow Ruby/GLib changes. Ruby/GnomeCanvas [Masao Mutoh]: * Follow Ruby/GLib changes. Ruby/Libglade [Masao Mutoh]: * Follow Ruby/GLib changes. * Support MS VC++. * Improved. Ruby/Libart [KATO Kazuyoshi, Masao Mutoh]: * Follow Ruby/GLib changes. Ruby/GConf [Masao Mutoh]: * Follow Ruby/GLib changes. * Fixed bugs, Improved. * Deprecated: * GConf::Client.new Ruby/GStreamer: * Follow Ruby/GLib changes. [Masao Mutoh] * Added and completed: [Jack Paul, Masao Mutoh, Laurent Sansonetti] * Gst::TypeFindFactory, Gst::MediaInfoError, Gst::Tag, Gst::RegistryPool, Gst::TagSetter * Fixed bugs, Improved, Added some methods: [Jack Paul, Max Nickel, Masao Mutoh, Laurent Sansonetti] * Gst::Plugin, Gst::PluginFeature, Gst::Caps, Gst::Structure, Gst::Xml, Gst::Thread, Gst::Scheduler, Gst::SchedulerFactory, Gst::MediaInfo, sample/gst-inspect.rb Ruby/GnomeVFS [Masao Mutoh]: * Follow Ruby/GLib changes. * Fixed bugs, Improved. Ruby/GtkHtml2 [Masao Mutoh]: * Follow Ruby/GLib changes. Ruby/GtkGLExt [Masao Mutoh]: * Follow Ruby/GLib changes. Ruby/Libgda: * Support 1.1.99 * Follow Ruby/GLib changes. [Masao Mutoh] * Fixed bugs, Improved, Added some methods: [Laurent Sansonetti] Gda::DataModel, Gda::Provider, Gda::Quarklist, Gda::Connection * Renamed, Moved [Laurent Sansonetti] * Gda::DataModel#editable? => #updatable? * #editing? => changed? * #begin_edit => #begin_update * #cancel_edit => #cancel_update * #end_edit => #end_update Ruby/PanelApplet [Neil Stevens, Masao Mutoh]: * Follow Ruby/GLib changes. * Added some methods Ruby/GtkSourceView [Masao Mutoh]: * Follow Ruby/GLib changes. * Added some methods Ruby/GnomePrint: * Follow Ruby/GLib changes. [Masao Mutoh, Kouhei Sutou] * Fixed bugs, Improved, Added some methods. [Kouhei Sutou] Ruby/GnomePrintUI: * Follow Ruby/GLib changes. [Masao Mutoh, Kouhei Sutou] * Fixed bugs, Improved, Added some methods. [Kouhei Sutou] Ruby/RSVG: * Follow Ruby/GLib changes. [Masao Mutoh, Kouhei Sutou] * Fixed bugs, Improved, Added some methods. [Kouhei Sutou] == Ruby-GNOME2 0.11.0: 2004-11-14 Ruby/GLib [Kouhei Sutou, Vincent Isambart, Masao Mutoh]: * Fix bugs, Improved, Added some methods. Ruby/ATK [Vincent Isambart, Masao Mutoh]: * Support ATK+-1.7.x. * Fixed bugs, Improved, Added some methods. Ruby/Pango [Geoff Youngs, Vincent Isambart, Masao Mutoh]: * Improved, Fix bugs. Ruby/GdkPixbuf [Geoff Youngs, Masao Mutoh]: * Support GTK+-2.4.x. * Fixed bugs, Improved, Added some methods. Ruby/GTK [Geoff Youngs, Vincent Isambart, Masao Mutoh]: * Fixed bugs, Improved, Added some methods. Ruby/GNOME [Masao Mutoh]: * Improved. Ruby/GnomeCanvas [Masao Mutoh]: * Fixed bugs, Improved, Added some methods. Ruby/Libglade [Masao Mutoh]: * Improved. Ruby/Libart [Vincent Isambart, Masao Mutoh]: * Improved to support ruby-1.7.x or later. * Changed: [Masao Mutoh] * Art::Canvas::Color.new -> Art::Canvas.color. * Art::Vpath::Dash -> Art::VpathDash. Ruby/GConf [Masao Mutoh]: * Improved. Ruby/GStreamer [Masao Mutoh]: * Improved. Ruby/GnomeVFS [Masao Mutoh]: * Improved. Ruby/GtkHtml2 [Masao Mutoh]: * Improved. Ruby/GtkGLExt [Vincent Isambart]: * Improved. Ruby/Libgda: * None. Ruby/PanelApplet: * None. Ruby/GtkSourceView [Vincent Isambart, Masao Mutoh]: * Fixed bugs. Ruby/GnomePrint [NEW]: * Added. [Kouhei Sutou] Ruby/GnomePrintUI [NEW: Alpha release]: * Added. [Kouhei Sutou] Ruby/RSVG [NEW: Alpha release]: * Added. [Kouhei Sutou] == Ruby-GNOME2 0.10.1: 2004-08-16 Ruby/GdkPixbuf [Masao Mutoh]: - Fix bugs. Ruby/GTK [Masao Mutoh]: - Support GTK+-2.0.x again. Ruby/GtkSourceView [Masao Mutoh]: - Fix bugs. == Ruby-GNOME2 0.10.0: 2004-08-09 Ruby/GLib [Masao Mutoh]: * Added: [Kazuhiro NISHIYAMA, Masao, Mutoh] * GLib::Spawn, sample/utils.rb, sample/type-register2.rb * Added some methods, improved, fixed bugs: [Laurent Sansonetti, Pascal Terjan, Masao Mutoh] * GLib, GLib::Object, GLib::Log, glib2.rb, Ruby/ATK [Masao Mutoh]: * None. Ruby/Pango [Masao Mutoh]: * Fix bugs. Ruby/GdkPixbuf [Masao Mutoh]: * Removed version information. Ruby/GTK: * Support GTK+-2.4.x. * Added: [Seiya Nishizawa, Masao, Mutoh] * Gtk::ToolButton, Gtk::ToolItem, Gtk::ToggleToolButton, Gtk::SeperatorToolItem, Gtk::ComboBox, Gtk::ComboBoxEntry, Gtk::Expander, Gtk::ColorButton, Gtk::FontButton, Gtk::FileChooserWidget, Gtk::FileChooser, Gtk::FileFilter, Gtk::FileChooserDialog, Gtk::Action, Gtk::ToggleAction, Gtk::IconInfo, Gtk::IconTheme, Gtk::UIManager, Gtk::RadioAction, Gtk::CellLayout, Gtk::ActionGroup, sample/misc/entrycompletion.c, filechooser.rb, combobox.rb, expander.rb, color_font_button.rb, uimanager.rb, uimanager2.rb, uimanager2.xml * Improved, fixed bugs: [Geoff Youngs, Vincent Isambart, Kazuhiro NISHIYAMA, Masao Mutoh] * Gtk::Style, Gtk::Widget, Gtk::TextView, Gtk::Container, Gdk::EventClient, Gtk::Dialog, Gtk::Entry, Gdk::Selection, Gtk::Drag, Gdk, Gdk::Atom, Gtk::Editable, Gtk::Stock, Gtk::TextIter, Gtk::TextMark, Gtk::Style, sample/misc/dialog2.rb, entry.rb, settings.rb, * Renamed, Moved: [Masao Mutoh] * Gtk::EventCrossing::CrossingMode to Gtk::EventCrossing::Mode, Gdk::SettingAction to Gdk::EventSetting::Action Gdk::Input.set_extension_events to Gdk::Device. * Deperecated: [Masao Mutoh] * Gtk::Combo, Gtk::OptionMenu since GTK+-2.4. Ruby/GNOME: * None. Ruby/GnomeCanvas: * None. Ruby/Libglade: * Added: [Masao Mutoh] * sample/l10n*, makemo.rb, sample/po/*. * Added methods: [Masao Mutoh] * GladeXML#get_tooltips. * Improved, fixed bugs: [Masao Mutoh] * GladeXML, bin/ruby-glade-create-template Ruby/Libart: * None. Ruby/GConf: * Added some methods, Improved, fixed bugs: [Giovanni Corriga, Pascal Terjan, Kazuhiro NISHIYAMA, Masao Mutoh] * GConf::Client * Deprecated: [Masao Mutoh] * GConf::Client.new. Use GConf::Client.default instead. Ruby/GStreamer: * Requires GStreamer-0.8.x or later. * Added: [Laurent Sansonetti] * Gst::Clock, Gst::Scheduler * Added methods, improved, Fixed bugs: [Laurent Sansonetti] * Gst::Element, Gst::Bin, Gst::Caps, Gst::Structure, * Removed: [Laurent Sansonetti] * Gst::Autoplug, Gst::AutoplugFactory, Gst::Type, Gst::TypeFactory, Gst::TypeFind Gst.set_debug, Ruby/GnomeVFS: * Fixed bugs: [Pascal Terjan, Giovanni Corriga, Masao Mutoh] Ruby/GtkHtml2: * None. Ruby/GtkGLExt: * Fixed bugs: [Vincent Isambart] Ruby/Libgda: * Added methods, fixed bugs: [Laurent Sansonetti] * Gda::Command, Gda::Connection * Removed: [Laurent Sansonetti] * Gda::Export Ruby/PanelApplet [NEW]: * Added. [Jamis Buck, Masao Mutoh] Ruby/GtkSourceView [NEW]: - Added. [Laurent Sansonetti] = GNOME2 0.9.1: 2004-03-14 Ruby/GLib [Masao Mutoh]: * Fix a compilation problem on MinGW. Ruby/ATK [Masao Mutoh]: * Fix a compilation problem on MinGW. * Improved extconf.rb Ruby/Pango [Masao Mutoh]: * Improved extconf.rb Ruby/GTK [Masao Mutoh]: * Fix a compilation problem on MinGW. * Fix a bug of Gtk::Combo. * Improved extconf.rb Ruby/GConf [Kazuhiro NISHIYAMA]: * Fix bugs. Ruby/Libgda [Laurent Sansonetti]: * Support libgda-1.0.3(stable branch). = Ruby-GNOME2 0.9.0: 2004-03-07 Ruby/GLib: * Improved, fixed bugs: [Kenichi Komiya, Vincent Isambart, Masao Mutoh] * GLib::Object, GLib::Param::Flags, mkmf-gnome2.rb, sample/type-register.rb * Added new macros: [Masao Mutoh] * G_DEF_CLASS3() Ruby/ATK [NEW]: * Added and compeleted: [Masao Mutoh] * Atk::Action, Atk::Document, Atk::GObjectAccessible, Atk::NoOpObject, Atk::NoOpObjectFactory, Atk::Value, Atk::Component, Atk::Image, Atk::HyperText, Atk::HyperLink, Atk::EditableText, Atk::Implementor, Atk::Object, Atk::Relation, Atk::Registry, Atk::ObjectFactory, Atk::State, Atk::StateSet, Atk::EditableText, Atk::Table * Added: [Masao Mutoh] * Atk::Util, Atk::Component, Atk::Selection, Atk::Text Ruby/GdkPixbuf: * None. Ruby/Pango: * None. Ruby/GTK: * Completed: [Masao Mutoh] * Added and completed: [Masao Mutoh] * Added: [Kenichi Komiya, Masao, Mutoh] * Gtk::TextAppearance, sample/misc/bindings.rb, properties.rb, style_property.rb, settings.rb * Added some methods, improved, fixed bugs: [Kenichi Komiya, Masahiro Sakai, Vincent Isambart, Dafydd Harries, Masao Mutoh] * Gdk::Window, Gtk::SizeGroup, Gtk::Object, Gtk::BindingSet, Gtk::TextTagTable, Gtk::TextTag, Gdk::Colormap, Gtk::TreeViewColumn, Gtk::TextIter, Gtk::SpinButton, Gtk::Allocation, Gtk::TextView, Gtk::TextBuffer, Gtk::Widget, Gtk::Container, Gtk::Setting, Gtk::TreePath, Gtk::TreeIter, Gdk::Display, Gtk::TextAttributes, Gdk::Property, Gdk::Keymap, Gdk::Pixmap, Gdk::Drawable, Gdk::Screen, Gdk::Event, Gdk::EventExpose, Gdk::Selection, Gdk::GC, sample/gtk-demo/main.rb, stock_browser.rb, list_store.rb, tree_store.rb, sample/testgtk/notebook.rb, sample/misc/label.rb, toolbar.rb, extconf.rb * Removed: [Masao Mutoh] * Gtk::Object#activate_binding * Use Gtk::Object#bindings_activate insted. * Gtk::TextAttribute#copy * Use GLib::Boxed#copy instead. * Gdk::EventKey#string, #length. * makedefconst.rb * Deperecated: [Masao Mutoh] * Gtk::TextBuffer#insert_with_tags, #insert_pixbuf, #insert_child_anchor. They will be removed until 1.0.0. Use Gtk::TextBuffer#insert instead. Ruby/GNOME: * Fixed bugs: [Masao Mutoh] * Gnome::Program Ruby/GnomeCanvas: * Added: [Masao Mutoh] * Gnome::CanvasShape, Gnome::CanvasRE, Gnome::CanvasClipgroup * Fixed bugs: [Vincent Isambart, Masao Mutoh] * extconf.rb, sample/canvas-curve.rb Ruby/Libglade: * Added: [Masao Mutoh] * sample/custom.[rb|glade] * Added methods: [Archit Baweja, Masao Mutoh] * GladeXML#widget_names, #filename, #[], #require, #provide * Improved, fixed bugs: [Masao Mutoh] * bin/ruby-glade-create-template Ruby/Libart: * Improved: [Masao Mutoh] * extconf.rb Ruby/GConf: * None. Ruby/GStreamer: * Added some methods, improved, fixed bugs: [Laurent Sansonetti] * Gst, Gst::Bin, Gst::Pad, Gst::PadTemplate, Gst::Type, Gst::Element sample/gst-inspect.rb, media-type2.rb Ruby/GnomeVFS: * Added some methods, improved, fixed bugs: [Masahiro Sakai, Masao Mutoh] * GnomeVFS::FileInfo, Gnome::VFS::File, GnomeVFS::ProtocolError, GnomeVFS::NoMasterBrowserError Ruby/GtkHtml2: * Added some methods, fixed bugs: [Vincent Isambart, Masao Mutoh] * Gtk::HtmlView, Gtk::HtmlStream, extconf.rb Ruby/GtkGLExt: * Added some methods, improved, fixed bugs: [Vincent Isambart, Masao Mutoh] * Gdk::GLDrawable, sample/*.rb Ruby/Libgda: * Added: [Laurent Sansonetti] GeometricPoint, Gda::Money, Gdak::Time * Added some methods, improved, fixed bugs: [Nikolai Weibull, Laurent Sansonetti] * Gda::Error, Gda::ParameterList, Gda::Provider, Gda::DataSource, Gda::Connection, Gda::Parameter, Gda::Command, Gda::Row, Gda::Value, Gda::DataModel, Gda::ModelList, Gda::FieldAttributes tests/*.rb, src/lib/libgda.rb == Ruby-GNOME2 0.8.1: 2003-11-23 Ruby/GTK: * Fixed compilation problems for GTK+-2.0.x. [Masao Mutoh] * Fixed some bugs. [Masahiro Sakai, Masao Mutoh] * Added Gtk::Tree* methods for GTK+-2.2.x. [Matthew Berg] Ruby/GtkHtml2: * Fixed compilation problems for libgtkhtml-2.4.1 [Masahiro Sakai] Ruby/Libgda: * Fixed a bug [Laurent Sansonetti] *Notice* Ruby/Libgda needs libgda-1.0.2(not released yet) or later. == Ruby-GNOME2 0.8.0: 2003-11-16 Ruby/GLib: * Provide methods for creating GObject from ruby side. Now you can create your own signals and properties: [Masahiro, Sakai] * GLib::MetaInterface, GLib::Instantiatable, GLib::Signal * Added some methods, improved and Fixed some bugs: [Masahiro Sakai, Masao Mutoh] * GLib::Closure, GLib, GLib::Instantiatable, GLib::Object, mkmf-gnome2.rb * Added new macros: [Masao Mutoh] * G_RENAME_NICK() * Added: [Masahiro, Sakai] * sample/type-register.rb, tests/*.rb Ruby/GdkPixbuf: * Added some methods, improved and Fixed some bugs: [KATO Kazuyoshi, Masao Mutoh] * Gdk::Pixbuf Ruby/Pango: * rbpango.h is installed with glib/gtk2 headers. * Added new methods: [Masao Mutoh] * Pango::Layout * Added: [Masao Mutoh] * PangoLogAttr, PangoAnalysis Ruby/GTK: * Completed: [Masao Mutoh] * Gdk::Geometry, Gdk::Event*, Gdk::Pixbuf, Gdk::Drawable, Gdk::DragContext, Gdk::Selection, Gdk::RGB, Gdk::GC, Gdk::Atom, Gdk::Image, Gdk::Colormap, Gdk::Keyval, Gdk::Screen, Gdk::Visual, Gdk::Window, Gdk::Display, Gdk * Added and completed: [Masao Mutoh] * Gdk::Property, Gdk::Keymap, Gdk::TimeCoord, * Added some methods, improved, fixed bugs: [Matthew Berg, Martin Povolny, KATO Kazuyoshi, Laurent Sansonetti, Masahiro Sakai, Masao Mutoh] * Gtk::AccelGroup, Gtk::Accelmap, Gtk::Clipboard, Gtk::Notebook, Gtk::Drag, Gtk::Menu, Gtk::Stock, Gtk::Style, Gtk::ListStore, Gtk::TreeStore, Gtk::Widget, Gtk::TextBuffer, Gtk::TreePath, Gtk::TreeRowReference * Added: [KATO Kazuyoshi] * sample/gtk-demo/changedisplay.rb, sample/gtk-demo/pixbufs.rb. * Removed: [Masao Mutoh] * Gtk::Clipboard#owner * Gdk::Span * Gdk::Region#eql?, #&, #-, #| Ruby/GNOME: * Added some methods, improved, fixed bugs: [Masao Mutoh] * Gnome::AppHelper, Gnome::DruidPageStandard * Apply Enum/Flags. [Masao Mutoh] Ruby/GnomeCanvas: * None. Ruby/Libglade: * None. Ruby/Libart: * None. Ruby/GConf: * None. Ruby/GStreamer: * Update maintainer's e-mail address [Laurent Sansonetti] Ruby/GnomeVFS: * None. Ruby/GtkHtml2: * Added and completed: [Masao Mutoh] * Gtk::HtmlContext, Gtk::HtmlBoxTable, Gtk::HtmlBoxTableRowGroup, * Completed: [Masao Mutoh] * Gtk::HtmlView * Added: [Masao Mutoh] * Gtk::HtmlBox, Gtk::HtmlBoxBlock, Gtk::HtmlBoxTableCaption, Gtk::HtmlBoxText, Gtk::BoxRoot, Gtk::BoxForm, Gtk::HtmlParser, Gtk::HtmlEmbedded, Gtk::HtmlBoxEmbedded Ruby/GtkGLExt: * None. Ruby/Libgda [NEW]: * Added and compeleted: [Laurent Sansonetti] * Gda, Gda::Client, Gda::Command, Gda::Provider, Gda::DataSource, Gda::Connection, Gda::DataModelArray, Gda::DataModelHash, Gda::DataModelList, Gda::Error, Gda::Export, Gda::FieldAttributes, Gda::Parameter, Gda::ParameterList, Gda::QuarkList, Gda::Row, Gda::Select, Gda::Table, Gda::Transaction * Added * Gda::DataModel sample/*.rb, tests/*.rb == Ruby-GNOME2 0.7.0: 2003-09-07 The whole Ruby-GNOME2: * Enum/Flags support. Enum/Flags constants are defined as classes. [Masahiro Sakai, Vincent Isambart, Masao Mutoh] * Improve extconf.rb. [Masao Mutoh] If the libraries are not found, they're ignored. And you can specify to target libraries. Ruby/GLib: * Improved and Fixed some bugs. [Masahiro Sakai, Masao Mutoh] * GLib::Type, GLib::Boxed, mkmf_gnome2.rb * Added lib/glib2.rb and improve to support Win32 platform. [TAMURA.KENICHI, Masahiro Sakai] * Added new class: [Masahiro Sakai] * GLib::Enum, GLib::Flags * Added new macros: [Masahiro Sakai] * RVAL2GENUM(), RVAL2GFLAGS(), GENUM2RVAL(), GFLAGS2RVAL(). * Removed some methods. [Masahiro Sakai] * GLib::Param#value_defaults? * Define GLib::BINDING_VERSION * Apply Enum/Flags. [Masahiro Sakai] * Follow extconf.rb changes. [Masao Mutoh] Ruby/GdkPixbuf: * Apply Enum/Flags. [Masahiro Sakai, Masao Mutoh] * Follow extconf.rb changes. [Masao Mutoh] Ruby/Pango: * Improved and Fixed some bugs: [Vincent Isambart, Masahiro Sakai, Masao Mutoh] * Pango::Font, sample/*.rb, extconf.rb * Added new methods: [Masahiro Sakai] * Pango::Language, Pango::FontMap, Pango::FontFamily, Pango::Context, Pango::FontDescription, * Apply Enum/Flags. [Masahiro Sakai, Masao Mutoh] * Follow extconf.rb changes. [Masao Mutoh] Ruby/GTK: * Follow Ruby/GLib changes. [Masahiro Sakai, Masao Mutoh] * Added some methods, improved, fixed bugs: [Martin Povoln, KATO Kazuyoshi, Masahiro Sakai, Masao Mutoh] * Gdk::Atom, Gdk::Input, Gdk::DragContext, Gdk::Event, Gdk::GC, Gdk, Gtk::Label, Gtk::TreeIter, Gtk::TreeView, Gtk::IconSize, gdk-demo/*.rb, extconf.rb * Added: [KATO Kazuyoshi] * Gdk::DisplayManager, gtk-demo.rb * Apply Enum/Flags. [Masahiro Sakai, Masao Mutoh] * Follow extconf.rb changes. [Masao Mutoh] Ruby/GNOME: * Follow extconf.rb changes. [Masao Mutoh] * Fix bugs. [Masahiro Sakai] Ruby/GnomeCanvas: * Follow extconf.rb changes. [Masao Mutoh] * Improve extconf.rb. [Masahiro Sakai] * Fix a sample. [Vincent Isambart] Ruby/Libglade: * Add a 'after' parameter to GladeXML.connect. It allows to connect signal_connect_after(). [Soila Jani] * Fix bugs: [Masao Mutoh] Ruby/Libart: * Follow extconf.rb changes. [Masao Mutoh] Ruby/GConf: * Apply Enum/Flags. [Masao Mutoh] * Follow extconf.rb changes. [Masao Mutoh] Ruby/GStreamer: * Improved and Fixed some bugs. [Laurent Sansonetti] * Gst, Gst::MediaInfo, Gst::Second, Gst::MediaType, sample/media-type.rb * Added some methods: [Laurent Sansonetti] * Gst::Bin, Gst::Registry, Gst::MediaInfoTrack * Added: [Laurent Sansonetti] * Gst::XML, Gst::ClockEntry, sample/xml-ogg-player.rb * Win32 support. [Masahiro Sakai] * Follow extconf.rb changes. [Masao Mutoh] Ruby/GnomeVFS: * Follow extconf.rb changes. [Masao Mutoh] Ruby/GtkHtml2: * Added: [Martin Povoln, Masao Mutoh] * Gtk::HtmlStream, lib/gtkhtml2.rb * Removed methods: [Martin Povoln] * Gtk::HtmlView#set_html * Follow extconf.rb changes. [Masao Mutoh] Ruby/GtkGLExt [NEW]: * Added and completed. [Vincent Isambart] * Gdk::GLConfig, Gdk::GLContext, Gdk::GLDrawable, Gdk::GLPixmap, Gdk::GLWindow, Gdk::Window, Gdk::Pixmap, Gtk::GL, Gtk::Widget * Added. [Vincent Isambart] * Gdk::GL, sample/*.rb * Follow extconf.rb changes. [Masao Mutoh] * Win32 support. [Masahiro Sakai] == Ruby-GNOME2 0.6.0: 2003-08-09 Ruby/GLib: * mkmf-gnome2.rb,rbglib.h, rbgobject.h, rbgutil.h are installed to site-ruby directories. The other libraries which depends on Ruby/GLib can compile in any directotires. [Masahiro Sakai, Masao Mutoh] * Support ruby-1.8.0 [Masao Mutoh] * Added new macros: [Geoff Youngs, Masao Mutoh] * CBOOL2RVAL/RVAL2CBOOL, G_DEF_CONSTANTS, G_RENAME_CONSTANT * Improved and Fixed some bugs. [Masahiro Sakai] * GLib::Object, GLib::Type, GLib::Closure, GLib::Signal, * Added some methods: [Masahiro Sakai] * GLib::Param, GLib::Param::*, GLib::Boxed, GLib::Signal, GLib::Pointer * Removed some methods. [Masahiro Sakai] * GLib::Param::*#default, #default_value Ruby/GdkPixbuf: * Follow Ruby/GLib changes. [Masao Mutoh] * Separate Gdk::Pixbuf#scale to #scale and #scale!, #composite to #composite and #composite!. [Masao Mutoh] Ruby/Pango: * Follow Ruby/GLib changes. [Masao Mutoh] Ruby/GTK: * Follow Ruby/GLib changes. [Sakai, Masahiro, Masao Mutoh] * rbgtk.h are installed to site-ruby directories. The other libraries which depends on Ruby/GTK can compile in any directotires. [Masao Mutoh] * Completed: [Geoff Youngs, Masao Mutoh] * Gtk::Clipboard, Gtk::Menu, Gtk::Notebook, Gtk::Socket, Gtk::Plug, Gtk::FileSelection, Gtk::ListStore, Gtk::TreeStore, Gtk::TreeModel, Gtk::TextView, Gtk::Notebook, Gtk::ColorSelection, Gtk::Style, Gtk::ItemFactory, Gtk::Invisible, Gtk::TreeSortable, Gtk::TreeView, Gtk::TreeSelection, Gtk::TreePath, Gtk::TreeViewColumn, Gtk::Drag, Gtk::TextTag, Gtk module * Added and completed. * Gtk::TreeDragSource, Gtk::TreeDragDest, * Added some methods, improved, fixed bugs: [Geoff Youngs, Masahiro Sakai, Masao Mutoh] * Gdk::Window, Gdk::Drawable, Gdk::EventProperty, Gdk module, Gtk::Object, Gtk::Editable, Gtk::TreeModel, Gtk module, Gtk::TextBuffer, Gtk::IMContext, Gtk::Menu * Added: [Geoff Youngs, Masao Mutoh] * Gtk::BingindSet, Gdk::Display, Gdk::Screen * Removed: [Masao Mutoh] * Gtk::Socket#xwindow, Gtk::Menu#set_path, Gtk::Notebook#popup_disable/enable, Gtk::ItemFactory.add_foreign Gtk::TreeSortable#sort_func=, Gtk::TreePath#to_s Ruby/GNOME: * Follow Ruby/GLib changes. [Masao Mutoh] * Add Gnome::PixmapEntry#set_preview. [Masao Mutoh] Ruby/GnomeCanvas: * Follow Ruby/GLib changes. [Masao Mutoh] Ruby/Libglade: * Follow Ruby/GLib changes. [Masao Mutoh] Ruby/Libart: * Follow Ruby/GLib changes. [Masao Mutoh] Ruby/GConf: * Fix a bug [744158] [Masao Mutoh] Ruby/GStreamer [NEW]: * Merged with Ruby-GStreamer project. [Laurent Sansonetti] * Version informations are also merged. * Completed: [Laurent Sansonetti] * Gst, Gst::Autoplug, Gst::Cpu, Gst::Format, Gst::Object, Gst::PadTemplate, Gst::Pipeline, Gst::PluginFeature, Gst::QueryType, Gst::Type * Added and completed. [Laurent Sansonetti] * Gst::AutoplugFactory, Gst::EventMask, Gsk::EventSeek, Gst::EventSegmentSeek, Gst::EventSize, Gst::Parse, Gst::SystemClock, Gst::Thread,Gst::MediaInfo, Gst::MediaInfoStream, Gst::MediaInfoTrack * Added some methods, improved, fixed bugs: [Laurent Sansonetti] * Gst::Caps, Gst::Clock, Gst::Plugin, Gst::Pad, Gst::Element, * Added: [Nikolai :: lone-star :: Weibull, Laurent Sansonetti] * sample/media-type.rb, gst-inspect.rb, mediap-type2.rb Ruby/GnomeVFS [NEW]: * Initial release. [Nikolai :: lone-star :: Weibull] * Completed: [Nikolai :: lone-star :: Weibull] * GnomeVFS module, GnomeVFS::Directory, GnomeVFS::Monitor, GnomeVFS::FileInfo, GnomeVFS::Error * Added: [Nikolai :: lone-star :: Weibull] * GnomeVFS::File, GnomeVFS::URI Ruby/GtkHtml2 [NEW]: * Initial release. [Martin Povoln] * Added: [Martin Povoln] * Gtk::HtmlDocument, Gtk::HtmlView == Ruby-GNOME2 0.5.0: 2003-05-24 Ruby/GLib: * Fixed warning for ruby-1.8.1. [Masao Mutoh] * Fixed some bugs, Added methods and improved: [Masahiro Sakai] * GLib::Object, GLib::ParamSpec, GLib::Signal, GLib::Type, GLib::Instantiatable, GLib::MetaInterface, GLib::Param::String * Added: [Geoff Youngs, Masao Mutoh] Ruby/GdkPixbuf: * Fixed a bug. [Geoff Youngs] Ruby/Pango: * Some constants were moved. [Masao Mutoh] * Moved Pango::Attribute::UNDERLINE_* to Pango::AttrUnderline::*. * Moved Pango::Attribute::SCALE_* to Pango::AttrScale::*. Ruby/GTK: * Completed: [Masao Mutoh] Gtk::AccelGroup, Gtk::Style, Gtk::Selection * Added some methods, improved: [Stephen Lewis, Masahiro Sakai, Masao Mutoh] * Gtk::TextBuffer, Gtk::TextIter, Gtk::TreeIter, Gtk::ListStore, Gtk::TreeStore, Gtk, Gtk::HandleBox, Gtk::Frame, Gtk::Container, Gtk::Table, Gdk::Input, Gtk::Widget, Gtk::Allocation, Gtk::RC, Gtk::ItemFactory, Gtk::Toolbar, Gtk::Window, Gtk::CellEditable, Gtk::Accessible, sample/misc/*.rb * Added and completed. [Nikolai :: lone-star :: Weibull, Masao Mutoh] * Gtk::RcStyle, Gtk::TargetList, Gtk::TreeSortable, Gtk::TreeModelSort, Gtk::IMContext, Gtk::IMContextSimple, Gtk::IMMulticontext * Added: [Masao Mutoh] * Gtk::Settings * Renamed some methods. [Masao Mutoh] * Gtk::Table, Gtk::Widget * Removed: [Masao Mutoh] * Gtk::Object#user_data, #user_data=, #set_user_data. Deprecated properties of Gtk::ProgressBar. Gtk::Requisition. Use [width, height] instead. Gtk::Widget#set_requisition, *_event, Gtk::Widget::NO_PARENT. Gtk::SelectionData.remove_all. Use Gtk::Selection.remove_all instead. Ruby/GNOME: * Cygwin support [Masahiro Sakai] * sample/test-gnome/color-picker.rb: Follow Ruby/GTK changes.[Masao Mutoh] Ruby/GnomeCanvas: * sample/canvas-primitives.rb: Follow Ruby/GTK changes.[Masao Mutoh] Ruby/Libglade: * Fix a bug of bin/ruby-glade-create-template. [Masao Mutoh] Ruby/Libart: * None Ruby/GConf: - Added GConf::MetaInfo. [Nikolai :: lone-star :: Weibull] - Fixed a bug [Masao Mutoh] == Ruby-GNOME2 0.4.0: 2003-03-23 The whole Ruby-GNOME2: * Add mkmf-gnome2.rb for sub/optional libraries. [Masahiro Sakai] Ruby/GLib: * Win32 platform support(Cygwin, Mingw32) [Masahiro Sakai] * Support mkmf-gnome2.rb [Masahiro Sakai] * Added some methods. [KUBO Takehiro, Masahiro Sakai] * Fix some bugs and improvement. [Masahiro Sakai, Masao Mutoh] Ruby/GdkPixbuf: * Win32 platform support(Cygwin, Mingw32) [Masahiro Sakai] * Support mkmf-gnome2.rb [Masahiro Sakai] * Fix some bugs and improvement. [Masahiro Sakai] Ruby/Pango: * Win32 platform support(Cygwin, Mingw32) [Masahiro Sakai] * Support mkmf-gnome2.rb [Masahiro Sakai] * Added a method(Pango.pixels) [Masao Mutoh] * Fix some bugs and improvement. [Masahiro Sakai] Ruby/GTK: * Win32 platform support(Cygwin, Mingw32) [Masahiro Sakai] * Support mkmf-gnome2.rb [Masahiro Sakai] * Multi-threading support. [Masao Mutoh] * Added some methods, improved: [Kazuo Saito, Geoff Youngs, KATO Kazuyoshi, Masahiro Sakai, Masao Mutoh] * Gtk::Toolbar, Gtk::ItemFactory, Gdk::Region, Gtk::AccelGroup, Gtk::AccelMap, Gtk::TextIter, Gtk::TextTagTable, Gtk::TreeModel, Gtk::TreeSelection, Gtk::Clipboard, Gtk::Box, Gdk::RGB, Gtk::AccelGroupEntry, Gdk::Window, Gtk::SeparatorMenuItem, Gtk::TreePath, Gtk::TreeView, Gtk::Combo, Gdk::Threads, Gtk::TreeIter, Gdk::Event, Gtk::Drag, * Added: [Kazuo Saito, KATO Kazuyoshi, Masao Mutoh] * sample/gtk-demo/*.rb, sample/misc/threads.rb * Removed: [Masao Mutoh] * Gtk::Toolbar#insert_item/widget/element, Gtk::Toolbar#prepend_item/widget/element, Gtk::Toolbar#append_item/widget/element. * Use Gtk::Toolbar#insert, prepend, append instead. Gtk::Combo#list, button, popup, popwin, set_item_string, Ruby/GNOME: * Support mkmf-gnome2.rb [Masahiro Sakai] Ruby/GnomeCanvas: * Support mkmf-gnome2.rb [Masahiro Sakai] Ruby/Libglade: * Support mkmf-gnome2.rb [Masahiro Sakai] * Improved: [Masao Mutoh] * bin/ruby-glade-create-template Ruby/Libart: * Support mkmf-gnome2.rb [Masahiro Sakai] * Fix some bugs and improvement. [Masahiro Sakai] Ruby/GConf: * Support mkmf-gnome2.rb [Masahiro Sakai] Misc: * Project website is moving from http://ruby-gnome2.sourceforge.net/ to http://ruby-gnome2.sourceforge.jp/. == Ruby-GNOME2 0.3.0: 2003-02-09 Ruby/GLib: * Miscellaneous bugfixes and some improvement internal. [Masahiro Sakai, Masao Mutoh] Ruby/GTK: * Miscellaneous bugfixes and some improvement internal. [Masao Mutoh] * Support GTK+-2.2.x. [KUBO Takehiro] * DnD enhancement. [Geoff Youngs, Masao Mutoh] * Require Ruby/Pango. [Masao Mutoh] * Completed: * Gdk::Drawable, Gdk::Rectangle, Gdk::Region, Gtk::AccelGroup, Gtk::Accelerator, Gtk::AccelGroupEntry, Gtk::AccelKey * Added and completed: * Gdk::Pango::Embossed, Gdk::Pango::Stipple, Gdk::Span * Added some methods, improved: * Gtk::Widget, Gtk::Calender, Gdk::GC, Gtk::Drag, Gtk::SelectionData, Gtk::RadioMenuItem,Gdk::Pixmap * Added: * sample/misc/dnd.rb, dndtreeview.rb, dnd.rb * Removed: * Gtk::AccelGroup#connect_by_path(use Gtk::AccelGroup#connect instead). Ruby/GdkPixbuf: * Added GdkPixbufLoader. [Geoff Youngs] Ruby/GNOME: * None. Ruby/GnomeCanvas: * Warning fixes for samples. [Masao Mutoh] Ruby/Libglade: * Added a sample(sample/treview.[glade|rb]). [Masao Mutoh] Ruby/Libart: * Added Art::Affine, Art::Bpath, Art::Canvas, Art::SVP, Art::Vpath [Tom Payne] * Added samples(sample/rose.rb, testlibart2.rb). [Tom Payne] Ruby/GConf: * None. Ruby/Pango(NEW): * Initial release. [Geoff Youngs, Masao Mutoh] * Added and completed: * Pango::Rectangle, Pango::FontDescription, Pango::FontMetrics, Pango::FontFace, Pango::Fontset, Pango::FontsetSimple, Pango::Attribute, Pango::AttrString, Pango::AttrLanguage, Pango::AttrColor, Pango::AttrInt, Pango::AttrFloat, Pango::AttrBool Pango::AttrFontDesc, Pango::AttrShape, Pango::AttrFamily, Pango::AttrStyle, Pango::AttrVariant, Pango::AttrStretch, Pango::AttrWeight, Pango::AttrSize, Pango::AttrForeground, Pango::AttrBackground, Pango::AttrStrikethrough, Pango::AttrUnderline, Pango::AttrScale, Pango::AttrRise, Pango::Color, Pango::Language, Pango::AttrList, Pango::AttrIterator, Pango::TabArray * Added: * Pango::Context, Pango::Item, Pango::ClyphString, Pango::Font, Pango::FontFamily, Pango::FontMap, Pango::Layout, Pango::LayoutIter, Pango::LayoutLine, sample/attribute.rb, gdk_layout.rb, label.rb, parse.rb. Misc * Project website http://ruby-gnome2.sourceforge.net/ * Ruby/GTK Tutorial http://ruby-gnome2.sourceforge.net/tut/toc.htm * Ruby-GNOME2 reference manual(This project has just started). http://rwiki.jin.gr.jp/cgi-bin/rw-cgi.rb?cmd=view;name=Ruby-GNOME2 == Ruby-GNOME2 0.2: 2002-12-28 Ruby/GLib: * Some bugfixes and some improvement internal. Ruby/GTK: * Some bugfixes and some improvement internal. * Require Ruby/GdkPixbuf. * Completed: * Gtk::TextIter, Gtk::Label, Gtk::Tooltips, Gtk::Viewport. * Added and completed: * Gtk::TextAttributes, Gtk::IconFactroy, Gtk::IconSet, Gtk::IconSource, Gtk::IconSize, Gtk::Accelerator, Gtk::AccelKey, Gtk::AccelGroupEntry, Gtk::SizeGroup, * Added some methods, improved: * Gtk module, Gtk::TextBuffer, Gtk::*MenuItem, Gtk::*Button, Gtk::ItemFactory, Gtk::Widget, Gtk::TreeViewColumn, Gtk::Notebook, Gtk::Image, Gtk::AccelLabel, Gtk::Invisible, Gtk::Dialog, Gtk::TreePath, Gdk::Keyval sample/misc/*button.rb, stock.rb sample/testgtk/savedposition.rb * Added: * Gtk::Clipboard, Gtk::AccelGroup, Gtk::AccelMap sample/misc/button2.rb, label.rb, dialog.rb, dialog2.rb, treeview.rb * Removed: * Gdk::Bitmap(use Gdk::Pixmap(depth = 1) instead) Ruby/GdkPixbuf: * Follow Ruby/GLib changes. * Add Gdk::Pixdata. Ruby/GNOME: * Follow Ruby/GLib changes. * Fix problems which Ruby/GNOME can't work with Ruby/GdkPixbuf. * Code cleanup. * Remove Bonobo codes(Move to Ruby/Bonobo). Ruby/GnomeCanvas: * Follow Ruby/GLib changes. * Follow Ruby 1.8.0pre1, 1.6.8. Ruby/Libglade: * Follow Ruby/GLib changes. * Add bin/ruby-glade-create-template(Create .rb from .glade) * Add sample/treeview* * Improve the behavior to work when handlers aren't undefined not to occur signal_proc.arity error. Ruby/Libart: * Follow Ruby/GLib changes. Ruby/GConf: * Follow Ruby/GLib changes. Misc: * Project website: http://ruby-gnome2.sourceforge.net/ * Ruby/GTK Tutorial: http://ruby-gnome2.sourceforge.net/tut/toc.htm * Ruby-GNOME2 reference manual(This project has just started). http://rwiki.jin.gr.jp/cgi-bin/rw-cgi.rb?cmd=view;name=Ruby-GNOME2 == Ruby-GNOME2 0.1: 2002-11-23 Initial release. * Ruby/GLib * Ruby/GTK * Ruby/GdkPixbuf * Ruby/GNOME * Ruby/GnomeCanvas * Ruby/Libglade * Ruby/Libart * Ruby/GConf ruby-gnome-ruby-gnome-c1ffe87/README.md000066400000000000000000000047401460266665500176710ustar00rootroot00000000000000# Ruby-GNOME [![Gem Version](https://badge.fury.io/rb/gtk3.svg)](https://badge.fury.io/rb/gtk3) ![Ruby-GNOME Logo](https://avatars1.githubusercontent.com/u/416159?v=3&s=200) Ruby bindings for GNOME This is a set of bindings for the GNOME 3.x and 4.x libraries to use from Ruby 2.5, 2.6 and 2.7. ## Installation ### Install the current releases. The gems of the Ruby-GNOME projects can be easily installed with the `gem` command. For example in order to install the gtk3 gem and its dependencies: gem install gtk3 ### Install from GitHub master branch You can also install these gems from GitHub master branch. Create `Gemfile` like the following: ```ruby source "https://rubygems.org/" git "https://github.com/ruby-gnome/ruby-gnome.git" do gem "gtk3" end ``` Install these gems by Bundler: ```console % bundle install ``` ## Advanced Installation % ruby extconf.rb % make % sudo make install To compile and install a particular sub-binding, you can add arguments: % ruby extconf.rb [subdir]... e.g.) ruby extconf.rb glib2 pango atk gdk_pixbuf2 gtk2 Or you can compile each sub-binding: % cd % ruby extconf.rb % make % sudo make install ### extconf.rb options * `--ruby` * ruby directory * `--topsrcdir` * top source directory * `--topdir` * top directory * `--strict` * if some libraries fail to compile/install, "make" command returns 1(exit 1) ## Bugs Please report bugs either in our bug tracker * [https://github.com/ruby-gnome/ruby-gnome/issues](https://github.com/ruby-gnome/ruby-gnome/issues) (current) or on the ruby-gnome2-devel-en / ruby-gnome2-devel-ja mailing list * [http://sourceforge.net/mail/?group_id=53614](http://sourceforge.net/mail/?group_id=53614) ## Copying Copyright (c) 2002-2021 Ruby-GNOME Project Team This program is free software. You can distribute/modify this program under the terms of the GNU LESSER GENERAL PUBLIC LICENSE Version 2.1. ### Exceptions Some GTK+ 3 examples are licensed under GNU Free Documentation License 1.3 or any later version later; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. Because they are based on scripts in [PyGObject-Tutorial](https://github.com/sebp/PyGObject-Tutorial). [PyGObject-Tutorial is licensed under GFDL 1.3](https://github.com/sebp/PyGObject-Tutorial/blob/master/COPYING). See [gtk3/sample/](/gtk3/sample) directory for details. ## Project Website [https://ruby-gnome2.osdn.jp/](https://ruby-gnome2.osdn.jp/) ruby-gnome-ruby-gnome-c1ffe87/Rakefile000066400000000000000000000074271460266665500200640ustar00rootroot00000000000000# -*- ruby -*- require "pathname" require "find" require "tmpdir" require "open-uri" task :default => :test def version @version ||= ENV["VERSION"] || guess_version end def guess_version versions = {} File.open("glib2/ext/glib2/rbglib.h") do |rbglib_h| rbglib_h.each_line do |line| if /#define\s+RBGLIB_([A-Z]+)_VERSION\s+(\d+)/ =~ line versions[$1.downcase] = $2.to_i end end end ["major", "minor", "micro"].collect {|type| versions[type]}.compact.join(".") end def gem_exist?(name, version) gem_uri = "https://rubygems.org/gems/#{name}/versions/#{version}" begin URI.open(gem_uri) true rescue OpenURI::HTTPError false end end def gem_push(path, name, version) return if gem_exist?(name, version) begin ruby("-S", "gem", "push", path) rescue puts("failed to push gem: #{path}") puts("#{$!.class}: #{$!}") end end default_packages = [ "adwaita", "atk", "cairo-gobject", "clutter", "clutter-gdk", "clutter-gstreamer", "clutter-gtk", "gdk3", "gdk4", "gdk_pixbuf2", "gegl", "gio2", "glib2", "gnumeric", "gobject-introspection", "goffice", "gsf", "gstreamer", "gtk3", "gtk4", "gtksourceview3", "gtksourceview4", "gtksourceview5", "libhandy", "libsecret", "pango", "poppler", "rsvg2", "vte3", "vte4", "webkit-gtk", "webkit2-gtk", "wnck3", ] packages = (ENV["PACKAGES"] || "").split(",") packages = default_packages if packages.empty? desc "configure all packages" task :configure do ruby("extconf.rb") end file "Makefile" do task(:configure).invoke end desc "build all packages" task :build => ["Makefile"] do sh("make") end desc "clean all packages, docs" task :clean do sh("make", "clean") if File.exist?("Makefile") rm_rf("yard_docs") end desc "more clean all packages" task :distclean do sh("make", "distclean") if File.exist?("Makefile") end desc "run tests for all packages" task :test => [:build] do ruby("run-test.rb") end namespace :gem do desc "build all gems" task :build do packages.each do |package| cd(package) do ruby("-S", "rake", "gem") end end end desc "document all gems" task docs: [:girdocs, :rubydocs] task :girdocs do packages_rb = packages.map { |pkg| File.join(pkg, "lib", pkg + ".rb") } ygir_gem = Gem::Specification.find_by_name('yard-gobject-introspection') ygir_lib = File.expand_path('lib/yard-gobject-introspection.rb', ygir_gem.full_gem_path) args = [ygir_lib, * packages_rb] all_args = %w(bundle exec yard doc -o ./yard_docs/gir/ --load).concat(args) sh(*all_args) end task :rubydocs do file_globs = packages.flat_map { |pkg| [ File.join(pkg, "lib", pkg + ".rb"), File.join(pkg, "lib", pkg, "**/*.rb"), File.join(pkg, "ext", pkg, "**/*.h") ]} all_args = %w(bundle exec yard doc -o ./yard_docs/ruby/).concat(file_globs) sh(*all_args) end desc "push all gems" task :push do packages.each do |package| Dir.glob(File.join(package, "pkg", "*-#{version}.gem")) do |gem_path| gem_base_path = File.basename(gem_path, ".gem") gem_name = gem_base_path.gsub(/-#{Regexp.escape(version)}\z/, "") gem_push(gem_path, gem_name, version) end end end desc "install all gems" task :install do packages.each do |package| ruby("-S", "gem", "install", "--user-install", *Dir.glob(File.join(package, "pkg", "*-#{version}.gem"))) end end desc "uninstall all gems" task :uninstall do packages.each do |package| ruby("-S", "gem", "uninstall", "--version", version, package) end end end desc "tag the current release" task :tag do sh("git", "tag", "-a", version, "-m", "release #{version}!!!") sh("git", "push", "--tags") end ruby-gnome-ruby-gnome-c1ffe87/adwaita/000077500000000000000000000000001460266665500200175ustar00rootroot00000000000000ruby-gnome-ruby-gnome-c1ffe87/adwaita/COPYING.LIB000066400000000000000000000636421460266665500214720ustar00rootroot00000000000000 GNU LESSER GENERAL PUBLIC LICENSE Version 2.1, February 1999 Copyright (C) 1991, 1999 Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 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 Lesser GPL. It also counts as the successor of the GNU Library Public License, version 2, hence the version number 2.1.] 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 Lesser General Public License, applies to some specially designated software packages--typically libraries--of the Free Software Foundation and other authors who decide to use it. You can use it too, but we suggest you first think carefully about whether this license or the ordinary General Public License is the better strategy to use in any particular case, based on the explanations below. When we speak of free software, we are referring to freedom of use, 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 and use pieces of it in new free programs; and that you are informed that you can do these things. To protect your rights, we need to make restrictions that forbid distributors to deny you these rights or to ask you to surrender these 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 other code 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. We protect your rights with a two-step method: (1) we copyright the library, and (2) we offer you this license, which gives you legal permission to copy, distribute and/or modify the library. To protect each distributor, we want to make it very clear that there is no warranty for the free library. Also, if the library is modified by someone else and passed on, the recipients should know that what they have is not the original version, so that the original author's reputation will not be affected by problems that might be introduced by others. Finally, software patents pose a constant threat to the existence of any free program. We wish to make sure that a company cannot effectively restrict the users of a free program by obtaining a restrictive license from a patent holder. Therefore, we insist that any patent license obtained for a version of the library must be consistent with the full freedom of use specified in this license. Most GNU software, including some libraries, is covered by the ordinary GNU General Public License. This license, the GNU Lesser General Public License, applies to certain designated libraries, and is quite different from the ordinary General Public License. We use this license for certain libraries in order to permit linking those libraries into non-free programs. When a program is linked with a library, whether statically or using a shared library, the combination of the two is legally speaking a combined work, a derivative of the original library. The ordinary General Public License therefore permits such linking only if the entire combination fits its criteria of freedom. The Lesser General Public License permits more lax criteria for linking other code with the library. We call this license the "Lesser" General Public License because it does Less to protect the user's freedom than the ordinary General Public License. It also provides other free software developers Less of an advantage over competing non-free programs. These disadvantages are the reason we use the ordinary General Public License for many libraries. However, the Lesser license provides advantages in certain special circumstances. For example, on rare occasions, there may be a special need to encourage the widest possible use of a certain library, so that it becomes a de-facto standard. To achieve this, non-free programs must be allowed to use the library. A more frequent case is that a free library does the same job as widely used non-free libraries. In this case, there is little to gain by limiting the free library to free software only, so we use the Lesser General Public License. In other cases, permission to use a particular library in non-free programs enables a greater number of people to use a large body of free software. For example, permission to use the GNU C Library in non-free programs enables many more people to use the whole GNU operating system, as well as its variant, the GNU/Linux operating system. Although the Lesser General Public License is Less protective of the users' freedom, it does ensure that the user of a program that is linked with the Library has the freedom and the wherewithal to run that program using a modified version of the Library. 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, whereas the latter must be combined with the library in order to run. GNU LESSER GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License Agreement applies to any software library or other program which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Lesser 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 combine 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) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (1) uses at run time a copy of the library already present on the user's computer system, rather than copying library functions into the executable, and (2) will operate properly with a modified version of the library, if the user installs one, as long as the modified version is interface-compatible with the version that the work was made with. c) 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. d) 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. e) 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 materials to be 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 with 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 Lesser 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. Copyright (C) This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 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 Lesser General Public License for more details. You should have received a copy of the GNU Lesser 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 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. , 1 April 1990 Ty Coon, President of Vice That's all there is to it! ruby-gnome-ruby-gnome-c1ffe87/adwaita/README.md000066400000000000000000000007441460266665500213030ustar00rootroot00000000000000# Ruby/Adwaita Ruby/Adwaita is a Ruby binding of Adwaita. ## Requirements * Ruby/GTK4 in [Ruby-GNOME](https://ruby-gnome.github.io/) * [adwaita](https://gnome.pages.gitlab.gnome.org/libadwaita/) ## Install gem install adwaita ## License Copyright (c) 2022 Ruby-GNOME Project Team This program is free software. You can distribute/modify this program under the terms of the GNU LESSER GENERAL PUBLIC LICENSE Version 2.1. ## Project Website https://ruby-gnome.github.io/ ruby-gnome-ruby-gnome-c1ffe87/adwaita/Rakefile000066400000000000000000000020031460266665500214570ustar00rootroot00000000000000# -*- ruby -*- # # Copyright (C) 2022 Ruby-GNOME Project Team # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser 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 $LOAD_PATH.unshift("./../glib2/lib") require "gnome/rake/package-task" package_name = File.basename(__dir__) spec = Gem::Specification.load("#{package_name}.gemspec") GNOME::Rake::PackageTask.define(spec, __dir__) do |package| end ruby-gnome-ruby-gnome-c1ffe87/adwaita/adwaita.gemspec000066400000000000000000000031231460266665500227750ustar00rootroot00000000000000# -*- ruby -*- # # Copyright (C) 2022 Ruby-GNOME Project Team # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser 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 require_relative "../glib2/version" Gem::Specification.new do |s| s.name = "adwaita" s.summary = "Ruby/Adwaita is a Ruby binding of Adwaita." s.description = "Ruby/Adwaita is a Ruby binding of Adwaita." s.author = "The Ruby-GNOME Project Team" s.email = "ruby-gnome2-devel-en@lists.sourceforge.net" s.homepage = "https://ruby-gnome.github.io/" s.licenses = ["LGPL-2.1+"] s.version = ruby_glib2_version s.extensions = ["dependency-check/Rakefile"] s.require_paths = ["lib"] s.files = [ "COPYING.LIB", "README.md", "Rakefile", "#{s.name}.gemspec", "dependency-check/Rakefile", ] s.files += Dir.glob("lib/**/*.rb") s.add_runtime_dependency("gtk4", "= #{s.version}") s.metadata["msys2_mingw_dependencies"] = "libadwaita" end ruby-gnome-ruby-gnome-c1ffe87/adwaita/dependency-check/000077500000000000000000000000001460266665500232105ustar00rootroot00000000000000ruby-gnome-ruby-gnome-c1ffe87/adwaita/dependency-check/Rakefile000066400000000000000000000031261460266665500246570ustar00rootroot00000000000000# Copyright (C) 2022 Ruby-GNOME Project Team # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser 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 require "pkg-config" require "native-package-installer" if File.exist?(File.join(__dir__, "..", "vendor")) task :default => "nothing" else task :default => "dependency:check" end task :nothing do end namespace :dependency do desc "Check dependency" task :check do package_id = "libadwaita-1" unless PKGConfig.check_version?(package_id) unless NativePackageInstaller.install(:alt_linux => "libadwaita", :debian => "libadwaita-1-dev", :redhat => "pkgconfig(#{package_id})", :arch_linux => "libadwaita", :homebrew => "libadwaita", :msys2 => "libadwaita") exit(false) end end end end ruby-gnome-ruby-gnome-c1ffe87/adwaita/lib/000077500000000000000000000000001460266665500205655ustar00rootroot00000000000000ruby-gnome-ruby-gnome-c1ffe87/adwaita/lib/adwaita.rb000066400000000000000000000016641460266665500225330ustar00rootroot00000000000000# Copyright (C) 2022 Ruby-GNOME Project Team # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser 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 require "gtk4" require "adwaita/loader" module Adwaita LOG_DOMAIN = "Adw" GLib::Log.set_log_domain(LOG_DOMAIN) loader = Loader.new(self) loader.load("Adw") end ruby-gnome-ruby-gnome-c1ffe87/adwaita/lib/adwaita/000077500000000000000000000000001460266665500221775ustar00rootroot00000000000000ruby-gnome-ruby-gnome-c1ffe87/adwaita/lib/adwaita/loader.rb000066400000000000000000000017711460266665500240000ustar00rootroot00000000000000# Copyright (C) 2022 Ruby-GNOME Project Team # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser 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 module Adwaita class Loader < GObjectIntrospection::Loader private def pre_load(repository, namespace) end def post_load(repository, namespace) require_libraries end def require_libraries end end end ruby-gnome-ruby-gnome-c1ffe87/adwaita/test/000077500000000000000000000000001460266665500207765ustar00rootroot00000000000000ruby-gnome-ruby-gnome-c1ffe87/adwaita/test/run-test.rb000077500000000000000000000024051460266665500231100ustar00rootroot00000000000000#!/usr/bin/env ruby # # Copyright (C) 2022 Ruby-GNOME Project Team # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser 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 require_relative "../../glib2/test/run-test" run_test(__dir__, [ "glib2", "gobject-introspection", "atk", "cairo-gobject", "gdk_pixbuf2", "gio2", "pango", "gdk4", "gtk4", "adwaita", ]) do begin require "adwaita" rescue GObjectIntrospection::RepositoryError puts("Omit because typelib file doesn't exist: #{$!.message}") exit(true) end end ruby-gnome-ruby-gnome-c1ffe87/adwaita/test/test-application.rb000066400000000000000000000017601460266665500246070ustar00rootroot00000000000000# Copyright (C) 2022 Ruby-GNOME Project Team # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser 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 class TestApplication < Test::Unit::TestCase test ".new" do application = Adwaita::Application.new("org.example.hello", 0) assert_equal(Adwaita::StyleManager.default, application.style_manager) end end ruby-gnome-ruby-gnome-c1ffe87/atk-no-gi/000077500000000000000000000000001460266665500201735ustar00rootroot00000000000000ruby-gnome-ruby-gnome-c1ffe87/atk-no-gi/COPYING.LIB000066400000000000000000000636421460266665500216460ustar00rootroot00000000000000 GNU LESSER GENERAL PUBLIC LICENSE Version 2.1, February 1999 Copyright (C) 1991, 1999 Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 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 Lesser GPL. It also counts as the successor of the GNU Library Public License, version 2, hence the version number 2.1.] 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 Lesser General Public License, applies to some specially designated software packages--typically libraries--of the Free Software Foundation and other authors who decide to use it. You can use it too, but we suggest you first think carefully about whether this license or the ordinary General Public License is the better strategy to use in any particular case, based on the explanations below. When we speak of free software, we are referring to freedom of use, 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 and use pieces of it in new free programs; and that you are informed that you can do these things. To protect your rights, we need to make restrictions that forbid distributors to deny you these rights or to ask you to surrender these 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 other code 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. We protect your rights with a two-step method: (1) we copyright the library, and (2) we offer you this license, which gives you legal permission to copy, distribute and/or modify the library. To protect each distributor, we want to make it very clear that there is no warranty for the free library. Also, if the library is modified by someone else and passed on, the recipients should know that what they have is not the original version, so that the original author's reputation will not be affected by problems that might be introduced by others. Finally, software patents pose a constant threat to the existence of any free program. We wish to make sure that a company cannot effectively restrict the users of a free program by obtaining a restrictive license from a patent holder. Therefore, we insist that any patent license obtained for a version of the library must be consistent with the full freedom of use specified in this license. Most GNU software, including some libraries, is covered by the ordinary GNU General Public License. This license, the GNU Lesser General Public License, applies to certain designated libraries, and is quite different from the ordinary General Public License. We use this license for certain libraries in order to permit linking those libraries into non-free programs. When a program is linked with a library, whether statically or using a shared library, the combination of the two is legally speaking a combined work, a derivative of the original library. The ordinary General Public License therefore permits such linking only if the entire combination fits its criteria of freedom. The Lesser General Public License permits more lax criteria for linking other code with the library. We call this license the "Lesser" General Public License because it does Less to protect the user's freedom than the ordinary General Public License. It also provides other free software developers Less of an advantage over competing non-free programs. These disadvantages are the reason we use the ordinary General Public License for many libraries. However, the Lesser license provides advantages in certain special circumstances. For example, on rare occasions, there may be a special need to encourage the widest possible use of a certain library, so that it becomes a de-facto standard. To achieve this, non-free programs must be allowed to use the library. A more frequent case is that a free library does the same job as widely used non-free libraries. In this case, there is little to gain by limiting the free library to free software only, so we use the Lesser General Public License. In other cases, permission to use a particular library in non-free programs enables a greater number of people to use a large body of free software. For example, permission to use the GNU C Library in non-free programs enables many more people to use the whole GNU operating system, as well as its variant, the GNU/Linux operating system. Although the Lesser General Public License is Less protective of the users' freedom, it does ensure that the user of a program that is linked with the Library has the freedom and the wherewithal to run that program using a modified version of the Library. 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, whereas the latter must be combined with the library in order to run. GNU LESSER GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License Agreement applies to any software library or other program which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Lesser 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 combine 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) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (1) uses at run time a copy of the library already present on the user's computer system, rather than copying library functions into the executable, and (2) will operate properly with a modified version of the library, if the user installs one, as long as the modified version is interface-compatible with the version that the work was made with. c) 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. d) 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. e) 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 materials to be 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 with 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 Lesser 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. Copyright (C) This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 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 Lesser General Public License for more details. You should have received a copy of the GNU Lesser 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 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. , 1 April 1990 Ty Coon, President of Vice That's all there is to it! ruby-gnome-ruby-gnome-c1ffe87/atk-no-gi/README000066400000000000000000000012561460266665500210570ustar00rootroot00000000000000Ruby/ATK =============== Ruby/ATK is a Ruby binding of ATK-1.12.x or later. Requirements ------------ Ruby: http://www.ruby-lang.org/ GLib: http://www.gtk.org/ ATK: http://developer.gnome.org/projects/gap Ruby/GLib2: http://ruby-gnome2.sourceforge.net/ Install ------- 0. install ruby-1.9.x or later, GLib, ATK, Ruby/GLib2. 1. ruby extconf.rb 2. make 3. su 4. make install Copying ------- Copyright (c) 2003-2005 Ruby-GNOME2 Project Team This program is free software. You can distribute/modify this program under the terms of the GNU LESSER GENERAL PUBLIC LICENSE Version 2.1. Project Website --------------- https://ruby-gnome2.osdn.jp/ ruby-gnome-ruby-gnome-c1ffe87/atk-no-gi/Rakefile000066400000000000000000000015431460266665500216430ustar00rootroot00000000000000# -*- ruby -*- $LOAD_PATH.unshift("./../glib2/lib") require "gnome2/rake/package-task" package_task = GNOME2::Rake::PackageTask.new do |package| package.summary = "Ruby/ATK is a Ruby binding of ATK-1.0.x." package.description = "Ruby/ATK is a Ruby binding of ATK-1.0.x." package.dependency.gem.runtime = ["glib2"] package.windows.packages = [] package.windows.dependencies = [] package.windows.build_dependencies = ["glib2", "gobject-introspection"] package.external_packages = [ { :name => "atk", :download_site => :gnome, :label => "atk", :version => "2.22.0", :compression_method => "xz", :windows => { :configure_args => [ "--enable-introspection", ], :build_concurrently => false, :built_file => "bin/libatk-1.0-0.dll", }, } ] end package_task.define ruby-gnome-ruby-gnome-c1ffe87/atk-no-gi/ext/000077500000000000000000000000001460266665500207735ustar00rootroot00000000000000ruby-gnome-ruby-gnome-c1ffe87/atk-no-gi/ext/atk/000077500000000000000000000000001460266665500215525ustar00rootroot00000000000000ruby-gnome-ruby-gnome-c1ffe87/atk-no-gi/ext/atk/atk.def000066400000000000000000000000221460266665500230030ustar00rootroot00000000000000EXPORTS Init_atk ruby-gnome-ruby-gnome-c1ffe87/atk-no-gi/ext/atk/depend000066400000000000000000000004631460266665500227370ustar00rootroot00000000000000install-so: install-headers install-headers: $(INSTALL_DATA) $(srcdir)/rbatk.h $(RUBYARCHDIR) $(INSTALL_DATA) rbatkversion.h $(RUBYARCHDIR) install: install-pc install-pc: if test -n "$(pkgconfigdir)"; then \ $(MAKEDIRS) $(pkgconfigdir); \ $(INSTALL_DATA) ruby-atk.pc $(pkgconfigdir); \ fi ruby-gnome-ruby-gnome-c1ffe87/atk-no-gi/ext/atk/extconf.rb000066400000000000000000000047371460266665500235600ustar00rootroot00000000000000=begin extconf.rb for Ruby/Atk extention library =end require 'pathname' base_dir = Pathname(__FILE__).dirname.parent.parent.expand_path top_dir = base_dir.parent top_build_dir = Pathname(".").parent.parent.parent.expand_path mkmf_gnome2_dir = top_dir + "glib2" + 'lib' version_suffix = "" unless mkmf_gnome2_dir.exist? if /(-\d+\.\d+\.\d+)(?:\.\d+)?\z/ =~ base_dir.basename.to_s version_suffix = $1 mkmf_gnome2_dir = top_dir + "glib2#{version_suffix}" + 'lib' end end $LOAD_PATH.unshift(mkmf_gnome2_dir.to_s) module_name = "atk" package_id = "atk" begin require 'mkmf-gnome2' rescue LoadError require 'rubygems' gem 'glib2' require 'mkmf-gnome2' end ruby_header = 'ruby.h' have_func 'rb_errinfo', ruby_header ["glib2"].each do |package| directory = "#{package}#{version_suffix}" build_dir = "#{directory}/tmp/#{RUBY_PLATFORM}/#{package}/#{RUBY_VERSION}" add_depend_package(package, "#{directory}/ext/#{package}", top_dir.to_s, :top_build_dir => top_build_dir.to_s, :target_build_dir => build_dir) end setup_windows(module_name, base_dir) unless required_pkg_config_package([package_id, 1, 12, 0], :altlinux => "libatk-devel", :debian => "libatk1.0-dev", :redhat => "atk-devel", :arch => "atk", :homebrew => "atk", :macports => "atk") exit(false) end atk_header = "atk/atk.h" have_func('atk_action_get_localized_name', atk_header) have_func('atk_hyperlink_is_inline', atk_header) have_func('atk_object_add_relationship', atk_header) have_func('atk_object_remove_relationship', atk_header) have_func('atk_component_get_layer', atk_header) have_func('atk_component_get_mdi_zorder', atk_header) have_func('atk_hyperlink_is_selected_link', atk_header) have_func('atk_text_get_bounded_ranges', atk_header) have_func('atk_role_get_localized_name', atk_header) have_func('atk_text_clip_type_get_type', atk_header) have_func('atk_text_free_ranges', atk_header) make_version_header("ATK", package_id, ".") create_pkg_config_file("Ruby/ATK", package_id) $defs << " -DRUBY_ATK_COMPILATION" create_makefile(module_name) pkg_config_dir = with_config("pkg-config-dir") if pkg_config_dir.is_a?(String) File.open("Makefile", "ab") do |makefile| makefile.puts makefile.puts("pkgconfigdir=#{pkg_config_dir}") end end ruby-gnome-ruby-gnome-c1ffe87/atk-no-gi/ext/atk/rbatk.c000066400000000000000000000047631460266665500230330ustar00rootroot00000000000000/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */ /* * Copyright (C) 2011 Ruby-GNOME2 Project Team * Copyright (C) 2003-2005 Masao Mutoh * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser 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 "rbatkprivate.h" #define RG_TARGET_NAMESPACE mAtk VALUE mAtk; extern void Init_atk(void); void Init_atk(void) { RG_TARGET_NAMESPACE = rb_define_module("Atk"); rb_define_const(RG_TARGET_NAMESPACE, "BUILD_VERSION", rb_ary_new3(3, INT2FIX(ATK_MAJOR_VERSION), INT2FIX(ATK_MINOR_VERSION), INT2FIX(ATK_MICRO_VERSION))); Init_atk_action(RG_TARGET_NAMESPACE); Init_atk_component(RG_TARGET_NAMESPACE); Init_atk_document(RG_TARGET_NAMESPACE); Init_atk_editabletext(RG_TARGET_NAMESPACE); Init_atk_gobjectaccessible(RG_TARGET_NAMESPACE); Init_atk_hyperlink(RG_TARGET_NAMESPACE); Init_atk_hypertext(RG_TARGET_NAMESPACE); Init_atk_image(RG_TARGET_NAMESPACE); Init_atk_implementor(RG_TARGET_NAMESPACE); Init_atk_noopobject(RG_TARGET_NAMESPACE); Init_atk_noopobjectfactory(RG_TARGET_NAMESPACE); Init_atk_object(RG_TARGET_NAMESPACE); Init_atk_objectfactory(RG_TARGET_NAMESPACE); Init_atk_registry(RG_TARGET_NAMESPACE); Init_atk_relation(RG_TARGET_NAMESPACE); Init_atk_relation_set(RG_TARGET_NAMESPACE); Init_atk_selection(RG_TARGET_NAMESPACE); Init_atk_state(RG_TARGET_NAMESPACE); Init_atk_state_set(RG_TARGET_NAMESPACE); Init_atk_streamable_content(RG_TARGET_NAMESPACE); Init_atk_table(RG_TARGET_NAMESPACE); Init_atk_text(RG_TARGET_NAMESPACE); Init_atk_text_range(RG_TARGET_NAMESPACE); Init_atk_text_rectangle(RG_TARGET_NAMESPACE); Init_atk_util(RG_TARGET_NAMESPACE); Init_atk_value(RG_TARGET_NAMESPACE); } ruby-gnome-ruby-gnome-c1ffe87/atk-no-gi/ext/atk/rbatk.h000066400000000000000000000031451460266665500230310ustar00rootroot00000000000000/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */ /* * Copyright (C) 2011 Ruby-GNOME2 Project Team * Copyright (C) 2003,2004 Masao Mutoh * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser 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 "ruby.h" #include #include #include #include #include "rbgobject.h" #include "rbatkversion.h" #include "rbatkconversions.h" #if defined(G_PLATFORM_WIN32) && !defined(RUBY_ATK_STATIC_COMPILATION) # ifdef RUBY_ATK_COMPILATION # define RUBY_ATK_VAR __declspec(dllexport) # else # define RUBY_ATK_VAR extern __declspec(dllimport) # endif #else # define RUBY_ATK_VAR extern #endif extern GType atk_text_rectangle_get_type(void); extern GType atk_text_range_get_type(void); RUBY_ATK_VAR VALUE mAtk; #define ATK_TYPE_TEXT_RECTANGLE (atk_text_rectangle_get_type()) #define ATK_TYPE_TEXT_RANGE (atk_text_range_get_type()) ruby-gnome-ruby-gnome-c1ffe87/atk-no-gi/ext/atk/rbatkaction.c000066400000000000000000000045331460266665500242240ustar00rootroot00000000000000/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */ /* * Copyright (C) 2011 Ruby-GNOME2 Project Team * Copyright (C) 2004 Masao Mutoh * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser 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 "rbatkprivate.h" #define RG_TARGET_NAMESPACE mAction #define _SELF(s) (RVAL2ATKACTION(s)) static VALUE rg_do_action(VALUE self, VALUE i) { return CBOOL2RVAL(atk_action_do_action(_SELF(self), NUM2INT(i))); } static VALUE rg_n_actions(VALUE self) { return INT2NUM(atk_action_get_n_actions(_SELF(self))); } static VALUE rg_get_description(VALUE self, VALUE i) { return CSTR2RVAL(atk_action_get_description(_SELF(self), NUM2INT(i))); } static VALUE rg_get_name(VALUE self, VALUE i) { return CSTR2RVAL(atk_action_get_name(_SELF(self), NUM2INT(i))); } #ifdef HAVE_ATK_ACTION_GET_LOCALIZED_NAME static VALUE rg_get_localized_name(VALUE self, VALUE i) { return CSTR2RVAL(atk_action_get_localized_name(_SELF(self), NUM2INT(i))); } #endif static VALUE rg_get_keybinding(VALUE self, VALUE i) { return CSTR2RVAL(atk_action_get_keybinding(_SELF(self), NUM2INT(i))); } static VALUE rg_set_description(VALUE self, VALUE i, VALUE desc) { return CBOOL2RVAL(atk_action_set_description(_SELF(self), NUM2INT(i), RVAL2CSTR(desc))); } void Init_atk_action(VALUE mAtk) { VALUE RG_TARGET_NAMESPACE = G_DEF_INTERFACE(ATK_TYPE_ACTION, "Action", mAtk); RG_DEF_METHOD(do_action, 1); RG_DEF_METHOD(n_actions, 0); RG_DEF_METHOD(get_description, 1); RG_DEF_METHOD(get_name, 1); #ifdef HAVE_ATK_ACTION_GET_LOCALIZED_NAME RG_DEF_METHOD(get_localized_name, 1); #endif RG_DEF_METHOD(get_keybinding, 1); RG_DEF_METHOD(set_description, 2); } ruby-gnome-ruby-gnome-c1ffe87/atk-no-gi/ext/atk/rbatkcomponent.c000066400000000000000000000121431460266665500247450ustar00rootroot00000000000000/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */ /* * Copyright (C) 2011 Ruby-GNOME2 Project Team * Copyright (C) 2004 Masao Mutoh * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser 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 "rbatkprivate.h" #define RG_TARGET_NAMESPACE mComponent #define _SELF(s) (RVAL2ATKCOMPONENT(s)) /* static void focus_handler(AtkObject *aobj, gboolean bool) { VALUE ret = rb_funcall((VALUE)func, id_call, 2, GOBJ2RVAL(aobj), CBOOL2RVAL(bool)); } static VALUE rg_add_focus_handler(VALUE self) { VALUE func = rb_block_proc(); G_RELATIVE(self, func); return UINT2NUM(atk_component_add_focus_handler(_SELF(self), focus_handler)); } */ static VALUE rg_contains_p(VALUE self, VALUE x, VALUE y, VALUE coord_type) { return CBOOL2RVAL(atk_component_contains(_SELF(self), NUM2INT(x), NUM2INT(y), RVAL2ATKCOORDTYPE(coord_type))); } static VALUE rg_get_extents(VALUE self, VALUE coord_type) { gint x, y, width, height; atk_component_get_extents(_SELF(self), &x, &y, &width, &height, RVAL2ATKCOORDTYPE(coord_type)); return rb_ary_new3(4, INT2NUM(x), INT2NUM(y), INT2NUM(width), INT2NUM(height)); } #ifdef HAVE_ATK_COMPONENT_GET_LAYER static VALUE rg_layer(VALUE self) { return ATKLAYER2RVAL(atk_component_get_layer(_SELF(self))); } #endif #ifdef HAVE_ATK_COMPONENT_GET_MDI_ZORDER static VALUE rg_mdi_zorder(VALUE self) { return INT2NUM(atk_component_get_mdi_zorder(_SELF(self))); } #endif static VALUE rg_position(VALUE self, VALUE coord_type) { gint x, y; atk_component_get_position(_SELF(self), &x, &y, RVAL2ATKCOORDTYPE(coord_type)); return rb_assoc_new(INT2NUM(x), INT2NUM(y)); } static VALUE rg_size(VALUE self) { gint width, height; atk_component_get_size(_SELF(self), &width, &height); return rb_assoc_new(INT2NUM(width), INT2NUM(height)); } static VALUE rg_grab_focus(VALUE self) { return CBOOL2RVAL(atk_component_grab_focus(_SELF(self))); } static VALUE rg_ref_accessible_at_point(VALUE self, VALUE x, VALUE y, VALUE coord_type) { return GOBJ2RVAL(atk_component_ref_accessible_at_point( _SELF(self), NUM2INT(x), NUM2INT(y), RVAL2ATKCOORDTYPE(coord_type))); } static VALUE rg_remove_focus_handler(VALUE self, VALUE handler_id) { atk_component_remove_focus_handler(_SELF(self), NUM2UINT(handler_id)); return self; } static VALUE rg_set_extents(VALUE self, VALUE x, VALUE y, VALUE width, VALUE height, VALUE coord_type) { gboolean ret = atk_component_set_extents(_SELF(self), NUM2INT(x), NUM2INT(y), NUM2INT(width), NUM2INT(height), RVAL2ATKCOORDTYPE(coord_type)); if (! ret) rb_raise(rb_eRuntimeError, "Can't set extents"); return self; } static VALUE rg_set_position(VALUE self, VALUE x, VALUE y, VALUE coord_type) { gboolean ret = atk_component_set_position(_SELF(self), NUM2INT(x), NUM2INT(y), RVAL2ATKCOORDTYPE(coord_type)); if (! ret) rb_raise(rb_eRuntimeError, "Can't set the position"); return self; } static VALUE rg_set_size(VALUE self, VALUE width, VALUE height) { gboolean ret = atk_component_set_size(_SELF(self), NUM2INT(width), NUM2INT(height)); if (! ret) rb_raise(rb_eRuntimeError, "Can't set the size"); return self; } static VALUE rg_alpha(VALUE self) { return rb_float_new(atk_component_get_alpha(_SELF(self))); } void Init_atk_component(VALUE mAtk) { VALUE RG_TARGET_NAMESPACE = G_DEF_INTERFACE(ATK_TYPE_COMPONENT, "Component", mAtk); /* RG_DEF_METHOD(add_focus_handler, 0); */ RG_DEF_METHOD_P(contains, 3); RG_DEF_METHOD(get_extents, 1); #ifdef HAVE_ATK_COMPONENT_GET_LAYER RG_DEF_METHOD(layer, 0); #endif #ifdef HAVE_ATK_COMPONENT_GET_MDI_ZORDER RG_DEF_METHOD(mdi_zorder, 0); #endif RG_DEF_METHOD(position, 1); RG_DEF_METHOD(size, 0); RG_DEF_METHOD(grab_focus, 0); RG_DEF_METHOD(ref_accessible_at_point, 3); RG_DEF_METHOD(remove_focus_handler, 1); RG_DEF_METHOD(set_extents, 5); RG_DEF_METHOD(set_position, 2); RG_DEF_METHOD(set_size, 2); RG_DEF_METHOD(alpha, 0); } ruby-gnome-ruby-gnome-c1ffe87/atk-no-gi/ext/atk/rbatkconversions.h000066400000000000000000000103351460266665500253210ustar00rootroot00000000000000/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */ /* * Copyright (C) 2011 Ruby-GNOME2 Project Team * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser 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 __RBATKCONVERSIONS_H__ #define __RBATKCONVERSIONS_H__ #define RVAL2ATKACTION(o) (ATK_ACTION(RVAL2GOBJ(o))) #define RVAL2ATKCOMPONENT(o) (ATK_COMPONENT(RVAL2GOBJ(o))) #define RVAL2ATKDOCUMENT(o) (ATK_DOCUMENT(RVAL2GOBJ(o))) #define RVAL2ATKEDITABLETEXT(o) (ATK_EDITABLE_TEXT(RVAL2GOBJ(o))) #define RVAL2ATKGOBJECTACCESSIBLE(o) (ATK_GOBJECT_ACCESSIBLE(RVAL2GOBJ(o))) #define RVAL2ATKHYPERLINK(o) (ATK_HYPERLINK(RVAL2GOBJ(o))) #define RVAL2ATKHYPERTEXT(o) (ATK_HYPERTEXT(RVAL2GOBJ(o))) #define RVAL2ATKIMAGE(o) (ATK_IMAGE(RVAL2GOBJ(o))) #define RVAL2ATKIMPLEMENTOR(o) (ATK_IMPLEMENTOR(RVAL2GOBJ(o))) #define RVAL2ATKNOOPOBJECT(o) (ATK_NOOPOBJECT(RVAL2GOBJ(o))) #define RVAL2ATKNOOPOBJECTFACTORY(o) (ATK_NO_OP_OBJECT_FACTORY(RVAL2GOBJ(o))) #define RVAL2ATKOBJECT(o) (ATK_OBJECT(RVAL2GOBJ(o))) #define RVAL2ATKOBJECTFACTORY(o) (ATK_OBJECT_FACTORY(RVAL2GOBJ(o))) #define RVAL2ATKREGISTRY(o) (ATK_REGISTRY(RVAL2GOBJ(o))) #define RVAL2ATKRELATION(o) (ATK_RELATION(RVAL2GOBJ(o))) #define RVAL2ATKRELATIONSET(o) (ATK_RELATION_SET(RVAL2GOBJ(o))) #define RVAL2ATKSELECTION(o) (ATK_SELECTION(RVAL2GOBJ(o))) #define RVAL2ATKSTATE(o) (ATK_STATE(RVAL2GOBJ(o))) #define RVAL2ATKSTATESET(o) (ATK_STATE_SET(RVAL2GOBJ(o))) #define RVAL2ATKSTREAMABLECONTENT(o) (ATK_STREAMABLE_CONTENT(RVAL2GOBJ(o))) #define RVAL2ATKTABLE(o) (ATK_TABLE(RVAL2GOBJ(o))) #define RVAL2ATKTEXT(o) (ATK_TEXT(RVAL2GOBJ(o))) #define RVAL2ATKVALUE(o) (ATK_VALUE(RVAL2GOBJ(o))) #define RVAL2ATKTEXTRANGE(o) ((AtkTextRange*)RVAL2BOXED(o, ATK_TYPE_TEXT_RANGE)) #define ATKTEXTRANGE2RVAL(o) (BOXED2RVAL(o, ATK_TYPE_TEXT_RANGE)) #define RVAL2ATKTEXTRECTANGLE(o) ((AtkTextRectangle*)RVAL2BOXED(o, ATK_TYPE_TEXT_RECTANGLE)) #define ATKTEXTRECTANGLE2RVAL(o) (BOXED2RVAL(o, ATK_TYPE_TEXT_RECTANGLE)) #define RVAL2ATKCOORDTYPE(o) (RVAL2GENUM(o, ATK_TYPE_COORD_TYPE)) #define ATKCOORDTYPE2RVAL(o) (GENUM2RVAL(o, ATK_TYPE_COORD_TYPE)) #define RVAL2ATKLAYER(o) (RVAL2GENUM(o, ATK_TYPE_LAYER)) #define ATKLAYER2RVAL(o) (GENUM2RVAL(o, ATK_TYPE_LAYER)) #define RVAL2ATKRELATIONTYPE(o) (RVAL2GENUM(o, ATK_TYPE_RELATION_TYPE)) #define ATKRELATIONTYPE2RVAL(o) (GENUM2RVAL(o, ATK_TYPE_RELATION_TYPE)) #define RVAL2ATKROLE(o) (RVAL2GENUM(o, ATK_TYPE_ROLE)) #define ATKROLE2RVAL(o) (GENUM2RVAL(o, ATK_TYPE_ROLE)) #define RVAL2ATKSTATETYPE(o) (RVAL2GENUM(o, ATK_TYPE_STATE_TYPE)) #define ATKSTATETYPE2RVAL(o) (GENUM2RVAL(o, ATK_TYPE_STATE_TYPE)) #define RVAL2ATKTEXTATTRIBUTE(o) (RVAL2GENUM(o, ATK_TYPE_TEXT_ATTRIBUTE)) #define ATKTEXTATTRIBUTE2RVAL(o) (GENUM2RVAL(o, ATK_TYPE_TEXT_ATTRIBUTE)) #define RVAL2ATKTEXTBOUNDARY(o) (RVAL2GENUM(o, ATK_TYPE_TEXT_BOUNDARY)) #define ATKTEXTBOUNDARY2RVAL(o) (GENUM2RVAL(o, ATK_TYPE_TEXT_BOUNDARY)) #define RVAL2ATKTEXTCLIPTYPE(o) (RVAL2GENUM(o, ATK_TYPE_TEXT_CLIP_TYPE)) #define ATKTEXTCLIPTYPE2RVAL(o) (GENUM2RVAL(o, ATK_TYPE_TEXT_CLIP_TYPE)) #endif /* __RBATKCONVERSIONS_H__ */ ruby-gnome-ruby-gnome-c1ffe87/atk-no-gi/ext/atk/rbatkdocument.c000066400000000000000000000053571460266665500245720ustar00rootroot00000000000000/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */ /* * Copyright (C) 2011 Ruby-GNOME2 Project Team * Copyright (C) 2003 Masao Mutoh * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser 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 "rbatkprivate.h" #define RG_TARGET_NAMESPACE mDocument #define _SELF(s) (RVAL2ATKDOCUMENT(s)) static VALUE rg_document_type(VALUE self) { return CSTR2RVAL(atk_document_get_document_type(_SELF(self))); } /* How can I implement this? static VALUE rg_document(VALUE self) { return GOBJ2RVAL(atk_document_get_document(_SELF(self))); } */ static VALUE rg_get_attribute_value(VALUE self, VALUE name) { return CSTR2RVAL(atk_document_get_attribute_value(_SELF(self), RVAL2CSTR(name))); } static VALUE rg_set_attribute_value(VALUE self, VALUE name, VALUE value) { gboolean ret = atk_document_set_attribute_value(_SELF(self), RVAL2CSTR(name), RVAL2CSTR(value)); if (! ret) rb_raise(rb_eRuntimeError, "Can't set attribute value: %s, %s", RVAL2CSTR(name), RVAL2CSTR(value)); return self; } static VALUE rg_attributes(VALUE self) { AtkAttributeSet* list = atk_document_get_attributes(_SELF(self)); VALUE ary = rb_ary_new(); while (list) { AtkAttribute* attr = list->data; rb_ary_push(ary, rb_assoc_new(CSTR2RVAL(attr->name), CSTR2RVAL(attr->value))); list = list->next; } return ary; } static VALUE rg_locale(VALUE self) { return CSTR2RVAL(atk_document_get_locale(_SELF(self))); } void Init_atk_document(VALUE mAtk) { VALUE RG_TARGET_NAMESPACE = G_DEF_INTERFACE(ATK_TYPE_DOCUMENT, "Document", mAtk); RG_DEF_METHOD(document_type, 0); /* RG_DEF_METHOD(document, 0); */ RG_DEF_METHOD(get_attribute_value, 1); RG_DEF_ALIAS("[]", "get_attribute_value"); RG_DEF_METHOD(set_attribute_value, 2); RG_DEF_ALIAS("[]=", "set_attribute_value"); RG_DEF_METHOD(attributes, 0); RG_DEF_METHOD(locale, 0); } ruby-gnome-ruby-gnome-c1ffe87/atk-no-gi/ext/atk/rbatkeditabletext.c000066400000000000000000000114571460266665500254300ustar00rootroot00000000000000/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */ /* * Copyright (C) 2011 Ruby-GNOME2 Project Team * Copyright (C) 2003 Masao Mutoh * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser 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 "rbatkprivate.h" #define RG_TARGET_NAMESPACE mEditableText #define _SELF(s) (RVAL2ATKEDITABLETEXT(s)) struct rval2atkattributegslist_args { VALUE ary; long n; GSList *result; }; static VALUE rbatk_rval2atkattributegslist_body(VALUE value) { long i; struct rval2atkattributegslist_args *args = (struct rval2atkattributegslist_args *)value; for (i = 0; i < args->n; i++) { VALUE ary = rb_ary_to_ary(RARRAY_PTR(args->ary)[i]); AtkAttribute *attribute; if (RARRAY_LEN(ary) != 2) rb_raise(rb_eArgError, "attribute %ld should be an array of length 2", i); attribute = g_new(AtkAttribute, 1); args->result = g_slist_append(args->result, attribute); attribute->name = g_strdup(RVAL2CSTR(RARRAY_PTR(ary)[0])); attribute->value = g_strdup(RVAL2CSTR(RARRAY_PTR(ary)[1])); } return Qnil; } static void rbatk_atkattributegslist_free(GSList *list) { GSList *p; for (p = list; p != NULL; p = g_slist_next(p)) { AtkAttribute *attribute = (AtkAttribute *)p->data; g_free(attribute->value); g_free(attribute->name); g_free(attribute); } g_slist_free(list); } static G_GNUC_NORETURN VALUE rbatk_rval2atkattributegslist_rescue(VALUE value) { rbatk_atkattributegslist_free(((struct rval2atkattributegslist_args *)value)->result); rb_exc_raise(rb_errinfo()); } static GSList * rbatk_rval2atkattributegslist(VALUE value) { struct rval2atkattributegslist_args args; args.ary = rb_ary_to_ary(value); args.n = RARRAY_LEN(args.ary); args.result = NULL; rb_rescue(rbatk_rval2atkattributegslist_body, (VALUE)&args, rbatk_rval2atkattributegslist_rescue, (VALUE)&args); return args.result; } #define RVAL2ATKATTRIBUTEGSLIST(value) rbatk_rval2atkattributegslist(value) static VALUE rg_set_run_attributes(VALUE self, VALUE attributes, VALUE rbstart_offset, VALUE rbend_offset) { AtkEditableText *editable; gint start_offset, end_offset; AtkAttributeSet *list; gboolean result; if (NIL_P(attributes)) return Qfalse; editable = _SELF(self); start_offset = NUM2INT(rbstart_offset); end_offset = NUM2INT(rbend_offset); list = RVAL2ATKATTRIBUTEGSLIST(attributes); result = atk_editable_text_set_run_attributes(editable, list, start_offset, end_offset); rbatk_atkattributegslist_free(list); return CBOOL2RVAL(result); } static VALUE rg_set_text_contents(VALUE self, VALUE str) { atk_editable_text_set_text_contents(_SELF(self), RVAL2CSTR(str)); return self; } static VALUE rg_insert_text(VALUE self, VALUE str, VALUE position) { gint pos = NUM2INT(position); StringValue(str); atk_editable_text_insert_text(_SELF(self), RVAL2CSTR(str), RSTRING_LEN(str), &pos); return INT2NUM(pos); } static VALUE rg_copy_text(VALUE self, VALUE start_pos, VALUE end_pos) { atk_editable_text_copy_text(_SELF(self), NUM2INT(start_pos), NUM2INT(end_pos)); return self; } static VALUE rg_cut_text(VALUE self, VALUE start_pos, VALUE end_pos) { atk_editable_text_cut_text(_SELF(self), NUM2INT(start_pos), NUM2INT(end_pos)); return self; } static VALUE rg_delete_text(VALUE self, VALUE start_pos, VALUE end_pos) { atk_editable_text_delete_text(_SELF(self), NUM2INT(start_pos), NUM2INT(end_pos)); return self; } static VALUE rg_paste_text(VALUE self, VALUE position) { atk_editable_text_paste_text(_SELF(self), NUM2INT(position)); return self; } void Init_atk_editabletext(VALUE mAtk) { VALUE RG_TARGET_NAMESPACE = G_DEF_INTERFACE(ATK_TYPE_EDITABLE_TEXT, "EditableText", mAtk); RG_DEF_METHOD(set_run_attributes, 3); RG_DEF_METHOD(set_text_contents, 1); RG_DEF_METHOD(insert_text, 2); RG_DEF_METHOD(copy_text, 2); RG_DEF_METHOD(cut_text, 2); RG_DEF_METHOD(delete_text, 2); RG_DEF_METHOD(paste_text, 1); } ruby-gnome-ruby-gnome-c1ffe87/atk-no-gi/ext/atk/rbatkgobjectaccessible.c000066400000000000000000000027361460266665500264050ustar00rootroot00000000000000/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */ /* * Copyright (C) 2011 Ruby-GNOME2 Project Team * Copyright (C) 2003 Masao Mutoh * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser 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 "rbatkprivate.h" #define RG_TARGET_NAMESPACE cGObjectAccessible #define _SELF(s) (RVAL2ATKGOBJECTACCESSIBLE(s)) static VALUE rg_s_for_object(G_GNUC_UNUSED VALUE self, VALUE obj) { return GOBJ2RVAL(atk_gobject_accessible_for_object(RVAL2GOBJ(obj))); } static VALUE rg_object(VALUE self) { return GOBJ2RVAL(atk_gobject_accessible_get_object(_SELF(self))); } void Init_atk_gobjectaccessible(VALUE mAtk) { VALUE RG_TARGET_NAMESPACE = G_DEF_CLASS(ATK_TYPE_GOBJECT_ACCESSIBLE, "GObjectAccessible", mAtk); RG_DEF_SMETHOD(for_object, 1); RG_DEF_METHOD(object, 0); } ruby-gnome-ruby-gnome-c1ffe87/atk-no-gi/ext/atk/rbatkhyperlink.c000066400000000000000000000036341460266665500247550ustar00rootroot00000000000000/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */ /* * Copyright (C) 2011 Ruby-GNOME2 Project Team * Copyright (C) 2003,2004 Masao Mutoh * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser 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 "rbatkprivate.h" #define RG_TARGET_NAMESPACE cHyperlink #define _SELF(s) (RVAL2ATKHYPERLINK(s)) static VALUE rg_get_uri(VALUE self, VALUE i) { return CSTR2RVAL(atk_hyperlink_get_uri(_SELF(self), NUM2INT(i))); } static VALUE rg_get_object(VALUE self, VALUE i) { return GOBJ2RVAL(atk_hyperlink_get_object(_SELF(self), NUM2INT(i))); } static VALUE rg_valid_p(VALUE self) { return CBOOL2RVAL(atk_hyperlink_is_valid(_SELF(self))); } #ifdef HAVE_ATK_HYPERLINK_IS_INLINE static VALUE rg_inline_p(VALUE self) { return CBOOL2RVAL(atk_hyperlink_is_inline(_SELF(self))); } #endif static VALUE rg_n_anchors(VALUE self) { return INT2NUM(atk_hyperlink_get_n_anchors(_SELF(self))); } void Init_atk_hyperlink(VALUE mAtk) { VALUE RG_TARGET_NAMESPACE = G_DEF_CLASS(ATK_TYPE_HYPERLINK, "Hyperlink", mAtk); RG_DEF_METHOD(get_uri, 1); RG_DEF_METHOD(get_object, 1); RG_DEF_METHOD_P(valid, 0); #ifdef HAVE_ATK_HYPERLINK_IS_INLINE RG_DEF_METHOD_P(inline, 0); #endif RG_DEF_METHOD(n_anchors, 0); } ruby-gnome-ruby-gnome-c1ffe87/atk-no-gi/ext/atk/rbatkhypertext.c000066400000000000000000000031361460266665500250010ustar00rootroot00000000000000/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */ /* * Copyright (C) 2011 Ruby-GNOME2 Project Team * Copyright (C) 2003 Masao Mutoh * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser 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 "rbatkprivate.h" #define RG_TARGET_NAMESPACE mHypertext #define _SELF(s) (RVAL2ATKHYPERTEXT(s)) static VALUE rg_get_link(VALUE self, VALUE link_index) { return GOBJ2RVAL(atk_hypertext_get_link(_SELF(self), NUM2INT(link_index))); } static VALUE rg_n_links(VALUE self) { return INT2NUM(atk_hypertext_get_n_links(_SELF(self))); } static VALUE rg_link_index(VALUE self, VALUE char_index) { return INT2NUM(atk_hypertext_get_link_index(_SELF(self), NUM2INT(char_index))); } void Init_atk_hypertext(VALUE mAtk) { VALUE RG_TARGET_NAMESPACE = G_DEF_INTERFACE(ATK_TYPE_HYPERTEXT, "Hypertext", mAtk); RG_DEF_METHOD(get_link, 1); RG_DEF_METHOD(n_links, 0); RG_DEF_METHOD(link_index, 1); } ruby-gnome-ruby-gnome-c1ffe87/atk-no-gi/ext/atk/rbatkimage.c000066400000000000000000000041401460266665500240230ustar00rootroot00000000000000/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */ /* * Copyright (C) 2011 Ruby-GNOME2 Project Team * Copyright (C) 2004 Masao Mutoh * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser 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 "rbatkprivate.h" #define RG_TARGET_NAMESPACE mImage #define _SELF(s) (RVAL2ATKIMAGE(s)) static VALUE rg_image_position(VALUE self, VALUE coord_type) { gint x, y; atk_image_get_image_position(_SELF(self), &x, &y, RVAL2ATKCOORDTYPE(coord_type)); return rb_assoc_new(INT2NUM(x), INT2NUM(y)); } static VALUE rg_image_description(VALUE self) { return CSTR2RVAL(atk_image_get_image_description(_SELF(self))); } static VALUE rg_set_image_description(VALUE self, VALUE description) { gboolean ret = atk_image_set_image_description(_SELF(self), RVAL2CSTR(description)); if (! ret) rb_raise(rb_eRuntimeError, "Can't set image description"); return self; } static VALUE rg_image_size(VALUE self) { gint width, height; atk_image_get_image_size(_SELF(self), &width, &height); return rb_assoc_new(INT2NUM(width), INT2NUM(height)); } void Init_atk_image(VALUE mAtk) { VALUE RG_TARGET_NAMESPACE = G_DEF_INTERFACE(ATK_TYPE_IMAGE, "Image", mAtk); RG_DEF_METHOD(image_position, 1); RG_DEF_METHOD(image_description, 0); RG_DEF_METHOD(set_image_description, 1); RG_DEF_METHOD(image_size, 0); } ruby-gnome-ruby-gnome-c1ffe87/atk-no-gi/ext/atk/rbatkimplementor.c000066400000000000000000000024341460266665500253000ustar00rootroot00000000000000/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */ /* * Copyright (C) 2011 Ruby-GNOME2 Project Team * Copyright (C) 2003 Masao Mutoh * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser 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 "rbatkprivate.h" #define RG_TARGET_NAMESPACE mImplementor #define _SELF(s) (RVAL2ATKIMPLEMENTOR(s)) static VALUE rg_ref_accessible(VALUE self) { return GOBJ2RVAL(atk_implementor_ref_accessible(_SELF(self))); } void Init_atk_implementor(VALUE mAtk) { VALUE RG_TARGET_NAMESPACE = G_DEF_INTERFACE(ATK_TYPE_IMPLEMENTOR, "Implementor", mAtk); RG_DEF_METHOD(ref_accessible, 0); } ruby-gnome-ruby-gnome-c1ffe87/atk-no-gi/ext/atk/rbatknoopobject.c000066400000000000000000000024471460266665500251130ustar00rootroot00000000000000/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */ /* * Copyright (C) 2011 Ruby-GNOME2 Project Team * Copyright (C) 2003 Masao Mutoh * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser 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 "rbatkprivate.h" #define RG_TARGET_NAMESPACE cNoOpObject #define _SELF(s) (RVAL2ATKNOOPOBJECT(s)) static VALUE rg_initialize(VALUE self, VALUE gobj) { G_INITIALIZE(self, atk_no_op_object_new(RVAL2GOBJ(gobj))); return Qnil; } void Init_atk_noopobject(VALUE mAtk) { VALUE RG_TARGET_NAMESPACE = G_DEF_CLASS(ATK_TYPE_NO_OP_OBJECT, "NoOpObject", mAtk); RG_DEF_METHOD(initialize, 1); } ruby-gnome-ruby-gnome-c1ffe87/atk-no-gi/ext/atk/rbatknoopobjectfactory.c000066400000000000000000000024701460266665500264770ustar00rootroot00000000000000/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */ /* * Copyright (C) 2011 Ruby-GNOME2 Project Team * Copyright (C) 2003 Masao Mutoh * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser 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 "rbatkprivate.h" #define RG_TARGET_NAMESPACE cNoOpObjectFactory #define _SELF(s) (RVAL2ATKNOOPOBJECTFACTORY(s)) static VALUE rg_initialize(VALUE self) { G_INITIALIZE(self, atk_no_op_object_factory_new()); return Qnil; } void Init_atk_noopobjectfactory(VALUE mAtk) { VALUE RG_TARGET_NAMESPACE = G_DEF_CLASS(ATK_TYPE_NO_OP_OBJECT_FACTORY, "NoOpObjectFactory", mAtk); RG_DEF_METHOD(initialize, 0); } ruby-gnome-ruby-gnome-c1ffe87/atk-no-gi/ext/atk/rbatkobject.c000066400000000000000000000120651460266665500242140ustar00rootroot00000000000000/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */ /* * Copyright (C) 2011 Ruby-GNOME2 Project Team * Copyright (C) 2003,2004 Masao Mutoh * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser 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 "rbatkprivate.h" #define RG_TARGET_NAMESPACE cObject #define _SELF(s) RVAL2ATKOBJECT(s) /* How can I implement this? Since 1.10 AtkObject* atk_implementor_ref_accessible (AtkImplementor *implementor); */ /* Use properties accessible_* G_CONST_RETURN gchar* atk_object_get_name (AtkObject *accessible); G_CONST_RETURN gchar* atk_object_get_description (AtkObject *accessible); AtkObject* atk_object_get_parent (AtkObject *accessible); (AtkObject *accessible); */ static VALUE rg_n_accessible_children(VALUE self) { return INT2NUM(atk_object_get_n_accessible_children(_SELF(self))); } static VALUE rg_ref_accessible_child(VALUE self, VALUE i) { return GOBJ2RVAL(atk_object_ref_accessible_child(_SELF(self), NUM2INT(i))); } static VALUE rg_ref_relation_set(VALUE self) { return GOBJ2RVAL(atk_object_ref_relation_set(_SELF(self))); } /* Use properties accessible_* AtkLayer atk_object_get_layer (AtkObject *accessible); gint atk_object_get_mdi_zorder (AtkObject *accessible); AtkRole atk_object_get_role (AtkObject *accessible); */ static VALUE rg_ref_state_set(VALUE self) { return GOBJ2RVAL(atk_object_ref_state_set(_SELF(self))); } static VALUE rg_index_in_parent(VALUE self) { return INT2NUM(atk_object_get_index_in_parent(_SELF(self))); } /* Use properties accessible_* void atk_object_set_name (AtkObject *accessible, const gchar *name); void atk_object_set_description (AtkObject *accessible, const gchar *description); void atk_object_set_parent (AtkObject *accessible, AtkObject *parent); void atk_object_set_role (AtkObject *accessible, AtkRole role); */ /* guint atk_object_connect_property_change_handler (AtkObject *accessible, AtkPropertyChangeHandler *handler); void atk_object_remove_property_change_handler (AtkObject *accessible, guint handler_id); */ static VALUE rg_notify_state_change(VALUE self, VALUE state, VALUE value) { atk_object_notify_state_change(_SELF(self), RVAL2ATKSTATETYPE(state), RVAL2CBOOL(value)); return self; } /* I don't have a good idea to implement this method. Any idea? void atk_object_initialize (AtkObject *accessible, gpointer data); */ #ifdef HAVE_ATK_OBJECT_ADD_RELATIONSHIP static VALUE rg_add_relationship(VALUE self, VALUE relationship, VALUE target) { return CBOOL2RVAL(atk_object_add_relationship( _SELF(self), RVAL2ATKRELATIONTYPE(relationship), _SELF(target))); } #endif #ifdef HAVE_ATK_OBJECT_REMOVE_RELATIONSHIP static VALUE rg_remove_relationship(VALUE self, VALUE relationship, VALUE target) { return CBOOL2RVAL(atk_object_remove_relationship( _SELF(self), RVAL2ATKRELATIONTYPE(relationship), _SELF(target))); } #endif void Init_atk_object(VALUE mAtk) { VALUE RG_TARGET_NAMESPACE = G_DEF_CLASS(ATK_TYPE_OBJECT, "Object", mAtk); RG_DEF_METHOD(n_accessible_children, 0); RG_DEF_METHOD(ref_accessible_child, 1); RG_DEF_METHOD(ref_relation_set, 0); RG_DEF_METHOD(ref_state_set, 0); RG_DEF_METHOD(index_in_parent, 0); RG_DEF_METHOD(notify_state_change, 2); #ifdef HAVE_ATK_OBJECT_ADD_RELATIONSHIP RG_DEF_METHOD(add_relationship, 2); #endif #ifdef HAVE_ATK_OBJECT_REMOVE_RELATIONSHIP RG_DEF_METHOD(remove_relationship, 2); #endif Init_atk_object_role(RG_TARGET_NAMESPACE); /* AtkLayer */ G_DEF_CLASS(ATK_TYPE_LAYER, "Layer", RG_TARGET_NAMESPACE); G_DEF_CONSTANTS(RG_TARGET_NAMESPACE, ATK_TYPE_LAYER, "ATK_"); } ruby-gnome-ruby-gnome-c1ffe87/atk-no-gi/ext/atk/rbatkobjectfactory.c000066400000000000000000000031761460266665500256070ustar00rootroot00000000000000/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */ /* * Copyright (C) 2011 Ruby-GNOME2 Project Team * Copyright (C) 2003 Masao Mutoh * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser 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 "rbatkprivate.h" #define RG_TARGET_NAMESPACE cObjectFactory #define _SELF(s) (RVAL2ATKOBJECTFACTORY(s)) static VALUE rg_create_accessible(VALUE self, VALUE obj) { return GOBJ2RVAL(atk_object_factory_create_accessible(_SELF(self), RVAL2GOBJ(obj))); } static VALUE rg_accessible_type(VALUE self) { return GTYPE2CLASS(atk_object_factory_get_accessible_type(_SELF(self))); } static VALUE rg_invalidate(VALUE self) { atk_object_factory_invalidate(_SELF(self)); return self; } void Init_atk_objectfactory(VALUE mAtk) { VALUE RG_TARGET_NAMESPACE = G_DEF_CLASS(ATK_TYPE_OBJECT_FACTORY, "ObjectFactory", mAtk); RG_DEF_METHOD(create_accessible, 0); RG_DEF_METHOD(accessible_type, 0); RG_DEF_METHOD(invalidate, 0); } ruby-gnome-ruby-gnome-c1ffe87/atk-no-gi/ext/atk/rbatkobjectrole.c000066400000000000000000000031151460266665500250720ustar00rootroot00000000000000/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */ /* * Copyright (C) 2011 Ruby-GNOME2 Project Team * Copyright (C) 2003,2004 Masao Mutoh * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser 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 "rbatkprivate.h" #define RG_TARGET_NAMESPACE cRole static VALUE rg_localized_name(G_GNUC_UNUSED VALUE self) { #ifdef HAVE_ATK_ROLE_GET_LOCALIZED_NAME return CSTR2RVAL(atk_role_get_localized_name(RVAL2ATKROLE(self))); #else rb_warning("not supported in this version of ATK."); return Qnil; #endif } static VALUE rg_s_for_name(G_GNUC_UNUSED VALUE self, VALUE name) { return ATKROLE2RVAL(atk_role_for_name(RVAL2CSTR(name))); } void Init_atk_object_role(VALUE cObject) { VALUE RG_TARGET_NAMESPACE = G_DEF_CLASS(ATK_TYPE_ROLE, "Role", cObject); RG_DEF_METHOD(localized_name, 0); RG_DEF_SMETHOD(for_name, 1); G_DEF_CONSTANTS(cObject, ATK_TYPE_ROLE, "ATK_"); } ruby-gnome-ruby-gnome-c1ffe87/atk-no-gi/ext/atk/rbatkprivate.h000066400000000000000000000034531460266665500244260ustar00rootroot00000000000000#ifndef RB_ATK_PRIVATE_H #define RB_ATK_PRIVATE_H #include "rbatk.h" #ifndef HAVE_RB_ERRINFO # define rb_errinfo() (ruby_errinfo) #endif #ifndef G_VALUE_INIT # define G_VALUE_INIT { 0, { { 0 } } } #endif G_BEGIN_DECLS G_GNUC_INTERNAL void Init_atk_action(VALUE mAtk); G_GNUC_INTERNAL void Init_atk_component(VALUE mAtk); G_GNUC_INTERNAL void Init_atk_document(VALUE mAtk); G_GNUC_INTERNAL void Init_atk_editabletext(VALUE mAtk); G_GNUC_INTERNAL void Init_atk_gobjectaccessible(VALUE mAtk); G_GNUC_INTERNAL void Init_atk_hyperlink(VALUE mAtk); G_GNUC_INTERNAL void Init_atk_hypertext(VALUE mAtk); G_GNUC_INTERNAL void Init_atk_image(VALUE mAtk); G_GNUC_INTERNAL void Init_atk_implementor(VALUE mAtk); G_GNUC_INTERNAL void Init_atk_noopobject(VALUE mAtk); G_GNUC_INTERNAL void Init_atk_noopobjectfactory(VALUE mAtk); G_GNUC_INTERNAL void Init_atk_object(VALUE mAtk); G_GNUC_INTERNAL void Init_atk_object_role(VALUE cObject); G_GNUC_INTERNAL void Init_atk_objectfactory(VALUE mAtk); G_GNUC_INTERNAL void Init_atk_registry(VALUE mAtk); G_GNUC_INTERNAL void Init_atk_relation(VALUE mAtk); G_GNUC_INTERNAL void Init_atk_relation_type(VALUE cRelation); G_GNUC_INTERNAL void Init_atk_relation_set(VALUE mAtk); G_GNUC_INTERNAL void Init_atk_selection(VALUE mAtk); G_GNUC_INTERNAL void Init_atk_state(VALUE mAtk); G_GNUC_INTERNAL void Init_atk_state_set(VALUE mAtk); G_GNUC_INTERNAL void Init_atk_streamable_content(VALUE mAtk); G_GNUC_INTERNAL void Init_atk_table(VALUE mAtk); G_GNUC_INTERNAL void Init_atk_text(VALUE mAtk); G_GNUC_INTERNAL void Init_atk_text_attribute(VALUE mText); G_GNUC_INTERNAL void Init_atk_text_range(VALUE mAtk); G_GNUC_INTERNAL void Init_atk_text_rectangle(VALUE mAtk); G_GNUC_INTERNAL void Init_atk_util(VALUE mAtk); G_GNUC_INTERNAL void Init_atk_value(VALUE mAtk); G_END_DECLS #endif /* RB_ATK_PRIVATE_H */ ruby-gnome-ruby-gnome-c1ffe87/atk-no-gi/ext/atk/rbatkregistry.c000066400000000000000000000037211460266665500246150ustar00rootroot00000000000000/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */ /* * Copyright (C) 2011 Ruby-GNOME2 Project Team * Copyright (C) 2003 Masao Mutoh * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser 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 "rbatkprivate.h" #define RG_TARGET_NAMESPACE cRegistry #define _SELF(s) (RVAL2ATKREGISTRY(s)) static VALUE rg_set_factory_type(VALUE self, VALUE type, VALUE factory_type) { atk_registry_set_factory_type(_SELF(self), CLASS2GTYPE(type), CLASS2GTYPE(factory_type)); return self; } static VALUE rg_get_factory_type(VALUE self, VALUE type) { return GTYPE2CLASS(atk_registry_get_factory_type(_SELF(self), CLASS2GTYPE(type))); } static VALUE rg_get_factory(VALUE self, VALUE type) { return GOBJ2RVAL(atk_registry_get_factory(_SELF(self), CLASS2GTYPE(type))); } static VALUE rg_s_default_registry(G_GNUC_UNUSED VALUE self) { return GOBJ2RVAL(atk_get_default_registry()); } void Init_atk_registry(VALUE mAtk) { VALUE RG_TARGET_NAMESPACE = G_DEF_CLASS(ATK_TYPE_REGISTRY, "Registry", mAtk); RG_DEF_METHOD(set_factory_type, 2); RG_DEF_METHOD(get_factory_type, 1); RG_DEF_METHOD(get_factory, 1); RG_DEF_SMETHOD(default_registry, 0); } ruby-gnome-ruby-gnome-c1ffe87/atk-no-gi/ext/atk/rbatkrelation.c000066400000000000000000000052031460266665500245570ustar00rootroot00000000000000/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */ /* * Copyright (C) 2011 Ruby-GNOME2 Project Team * Copyright (C) 2003 Masao Mutoh * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser 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 "rbatkprivate.h" #define RG_TARGET_NAMESPACE cRelation #define _SELF(s) (RVAL2ATKRELATION(s)) static VALUE rg_s_type_register(G_GNUC_UNUSED VALUE self, VALUE name) { return ATKRELATIONTYPE2RVAL(atk_relation_type_register(RVAL2CSTR(name))); } struct rval2atkobjects_args { VALUE ary; long n; AtkObject **result; }; static VALUE rval2atkobjects_body(VALUE value) { long i; struct rval2atkobjects_args *args = (struct rval2atkobjects_args *)value; for (i = 0; i < args->n; i++) args->result[i] = RVAL2ATKOBJECT(RARRAY_PTR(args->ary)[i]); return Qnil; } static G_GNUC_NORETURN VALUE rval2atkobjects_rescue(VALUE value) { g_free(((struct rval2atkobjects_args *)value)->result); rb_exc_raise(rb_errinfo()); } static VALUE rg_initialize(VALUE self, VALUE targets, VALUE rbrelationship) { AtkRelationType relationship = RVAL2ATKRELATIONTYPE(rbrelationship); struct rval2atkobjects_args args; AtkRelation *relation; args.ary = rb_ary_to_ary(targets); args.n = RARRAY_LEN(args.ary); args.result = g_new(AtkObject *, args.n + 1); rb_rescue(rval2atkobjects_body, (VALUE)&args, rval2atkobjects_rescue, (VALUE)&args); relation = atk_relation_new(args.result, args.n, relationship); g_free(args.result); G_INITIALIZE(self, relation); return Qnil; } static VALUE rg_add_target(VALUE self, VALUE obj) { atk_relation_add_target(_SELF(self), RVAL2ATKOBJECT(obj)); return self; } void Init_atk_relation(VALUE mAtk) { VALUE RG_TARGET_NAMESPACE = G_DEF_CLASS(ATK_TYPE_RELATION, "Relation", mAtk); RG_DEF_SMETHOD(type_register, 1); RG_DEF_METHOD(initialize, 2); RG_DEF_METHOD(add_target, 1); Init_atk_relation_type(RG_TARGET_NAMESPACE); } ruby-gnome-ruby-gnome-c1ffe87/atk-no-gi/ext/atk/rbatkrelationset.c000066400000000000000000000053361460266665500253020ustar00rootroot00000000000000/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */ /* * Copyright (C) 2011 Ruby-GNOME2 Project Team * Copyright (C) 2003 Masao Mutoh * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser 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 "rbatkprivate.h" #define RG_TARGET_NAMESPACE cRelationSet #define _SELF(s) (RVAL2ATKRELATIONSET(s)) static VALUE rg_initialize(VALUE self) { G_INITIALIZE(self, atk_relation_set_new()); return Qnil; } static VALUE rg_contains_p(VALUE self, VALUE relationship) { return CBOOL2RVAL(atk_relation_set_contains( _SELF(self), RVAL2ATKRELATIONTYPE(relationship))); } static VALUE rg_remove(VALUE self, VALUE relation) { atk_relation_set_remove(_SELF(self), RVAL2ATKRELATION(relation)); return self; } static VALUE rg_add(VALUE self, VALUE relation) { atk_relation_set_add(_SELF(self), RVAL2ATKRELATION(relation)); return self; } static VALUE rg_n_relations(VALUE self) { return INT2NUM(atk_relation_set_get_n_relations(_SELF(self))); } static VALUE rg_get_relation(VALUE self, VALUE i) { if (rb_obj_is_kind_of(i, GTYPE2CLASS(ATK_TYPE_RELATION_TYPE))){ return GOBJ2RVAL(atk_relation_set_get_relation_by_type( _SELF(self), RVAL2ATKRELATIONTYPE(i))); } else { return GOBJ2RVAL(atk_relation_set_get_relation(_SELF(self), NUM2INT(i))); } } static VALUE rg_add_relation(VALUE self, VALUE relationship, VALUE obj) { atk_relation_set_add_relation_by_type(_SELF(self), RVAL2ATKRELATIONTYPE(relationship), RVAL2ATKOBJECT(obj)); return self; } void Init_atk_relation_set(VALUE mAtk) { VALUE RG_TARGET_NAMESPACE = G_DEF_CLASS(ATK_TYPE_RELATION_SET, "RelationSet", mAtk); RG_DEF_METHOD(initialize, 0); RG_DEF_METHOD_P(contains, 1); RG_DEF_METHOD(remove, 1); RG_DEF_METHOD(add, 1); RG_DEF_METHOD(n_relations, 0); RG_DEF_METHOD(get_relation, 1); RG_DEF_METHOD(add_relation, 2); } ruby-gnome-ruby-gnome-c1ffe87/atk-no-gi/ext/atk/rbatkrelationtype.c000066400000000000000000000025121460266665500254610ustar00rootroot00000000000000/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */ /* * Copyright (C) 2011 Ruby-GNOME2 Project Team * Copyright (C) 2003 Masao Mutoh * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser 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 "rbatkprivate.h" #define RG_TARGET_NAMESPACE cType static VALUE rg_s_for_name(G_GNUC_UNUSED VALUE self, VALUE name) { return ATKRELATIONTYPE2RVAL(atk_relation_type_for_name(RVAL2CSTR(name))); } void Init_atk_relation_type(VALUE cRelation) { VALUE RG_TARGET_NAMESPACE = G_DEF_CLASS(ATK_TYPE_RELATION_TYPE, "Type", cRelation); RG_DEF_SMETHOD(for_name, 1); G_DEF_CONSTANTS(cRelation, ATK_TYPE_RELATION_TYPE, "ATK_"); } ruby-gnome-ruby-gnome-c1ffe87/atk-no-gi/ext/atk/rbatkselection.c000066400000000000000000000050071460266665500247310ustar00rootroot00000000000000/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */ /* * Copyright (C) 2011 Ruby-GNOME2 Project Team * Copyright (C) 2004 Masao Mutoh * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser 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 "rbatkprivate.h" #define RG_TARGET_NAMESPACE mSelection #define _SELF(s) (RVAL2ATKSELECTION(s)) static VALUE rg_add_selection(VALUE self, VALUE i) { gboolean ret = atk_selection_add_selection(_SELF(self), NUM2INT(i)); if (! ret) rb_raise(rb_eRuntimeError, "Can't add selection"); return self; } static VALUE rg_clear_selection(VALUE self) { gboolean ret = atk_selection_clear_selection(_SELF(self)); if (! ret) rb_raise(rb_eRuntimeError, "Can't clear selection"); return self; } static VALUE rg_ref_selection(VALUE self, VALUE i) { return GOBJ2RVAL(atk_selection_ref_selection(_SELF(self), NUM2INT(i))); } static VALUE rg_selection_count(VALUE self) { return INT2NUM(atk_selection_get_selection_count(_SELF(self))); } static VALUE rg_child_selected_p(VALUE self, VALUE i) { return CBOOL2RVAL(atk_selection_is_child_selected(_SELF(self), NUM2INT(i))); } static VALUE rg_remove_selection(VALUE self, VALUE i) { gboolean ret = atk_selection_remove_selection(_SELF(self), NUM2INT(i)); if (! ret) rb_raise(rb_eRuntimeError, "Can't remove selection"); return self; } static VALUE rg_select_all_selection(VALUE self) { return CBOOL2RVAL(atk_selection_select_all_selection(_SELF(self))); } void Init_atk_selection(VALUE mAtk) { VALUE RG_TARGET_NAMESPACE = G_DEF_INTERFACE(ATK_TYPE_SELECTION, "Selection", mAtk); RG_DEF_METHOD(add_selection, 1); RG_DEF_METHOD(clear_selection, 0); RG_DEF_METHOD(ref_selection, 1); RG_DEF_METHOD(selection_count, 0); RG_DEF_METHOD_P(child_selected, 1); RG_DEF_METHOD(remove_selection, 1); RG_DEF_METHOD(select_all_selection, 0); } ruby-gnome-ruby-gnome-c1ffe87/atk-no-gi/ext/atk/rbatkstate.c000066400000000000000000000032241460266665500240630ustar00rootroot00000000000000/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */ /* * Copyright (C) 2011 Ruby-GNOME2 Project Team * Copyright (C) 2003,2004 Masao Mutoh * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser 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 "rbatkprivate.h" #define RG_TARGET_NAMESPACE cState #define _SELF(s) (RVAL2ATKSTATE(s)) static VALUE rg_s_type_register(G_GNUC_UNUSED VALUE self, VALUE name) { return ATKSTATETYPE2RVAL(atk_state_type_register(RVAL2CSTR(name))); } /* We don't need this. G_CONST_RETURN gchar* atk_state_type_get_name (AtkStateType type); */ static VALUE rg_s_for_name(G_GNUC_UNUSED VALUE self, VALUE name) { return ATKSTATETYPE2RVAL(atk_state_type_for_name(RVAL2CSTR(name))); } void Init_atk_state(VALUE mAtk) { VALUE RG_TARGET_NAMESPACE = G_DEF_CLASS(ATK_TYPE_STATE_TYPE, "State", mAtk); RG_DEF_SMETHOD(type_register, 1); RG_DEF_SMETHOD(for_name, 1); G_DEF_CONSTANTS(mAtk, ATK_TYPE_STATE_TYPE, "ATK_"); } ruby-gnome-ruby-gnome-c1ffe87/atk-no-gi/ext/atk/rbatkstateset.c000066400000000000000000000105441460266665500246020ustar00rootroot00000000000000/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */ /* * Copyright (C) 2011 Ruby-GNOME2 Project Team * Copyright (C) 2003 Masao Mutoh * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser 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 "rbatkprivate.h" #define RG_TARGET_NAMESPACE cStateSet #define _SELF(s) (RVAL2ATKSTATESET(s)) static VALUE rg_initialize(VALUE self) { G_INITIALIZE(self, atk_state_set_new()); return Qnil; } static VALUE rg_empty_p(VALUE self) { return CBOOL2RVAL(atk_state_set_is_empty(_SELF(self))); } static VALUE rg_add_state(VALUE self, VALUE type) { return CBOOL2RVAL(atk_state_set_add_state(_SELF(self), RVAL2ATKSTATETYPE(type))); } struct rval2atkstatetype_args { VALUE ary; long n; AtkStateType *result; }; static VALUE rval2atkstatetype_body(VALUE value) { long i; struct rval2atkstatetype_args *args = (struct rval2atkstatetype_args *)value; for (i = 0; i < args->n; i++) args->result[i] = RVAL2ATKSTATETYPE(RARRAY_PTR(args->ary)[i]); return Qnil; } static G_GNUC_NORETURN VALUE rval2atkstatetype_rescue(VALUE value) { g_free(((struct rval2atkstatetype_args *)value)->result); rb_exc_raise(rb_errinfo()); } static AtkStateType * rval2atkstatetype(VALUE value, long *n) { struct rval2atkstatetype_args args; args.ary = rb_ary_to_ary(value); args.n = RARRAY_LEN(args.ary); args.result = g_new(AtkStateType, args.n + 1); rb_rescue(rval2atkstatetype_body, (VALUE)&args, rval2atkstatetype_rescue, (VALUE)&args); if (n != NULL) *n = args.n; return args.result; } #define RVAL2ATKSTATETYPES(value, n) rval2atkstatetype(value, n) static VALUE rg_add_states(VALUE self, VALUE rbtypes) { AtkStateSet *set = _SELF(self); long n; AtkStateType *types = RVAL2ATKSTATETYPES(rbtypes, &n); atk_state_set_add_states(set, types, n); g_free(types); return self; } static VALUE rg_clear_states(VALUE self) { atk_state_set_clear_states(_SELF(self)); return self; } static VALUE rg_contains_state(VALUE self, VALUE type) { return CBOOL2RVAL(atk_state_set_contains_state(_SELF(self), RVAL2ATKSTATETYPE(type))); } static VALUE rg_contains_states(VALUE self, VALUE rbtypes) { AtkStateSet *set = _SELF(self); long n; AtkStateType *types = RVAL2ATKSTATETYPES(rbtypes, &n); gboolean result; result = atk_state_set_contains_states(set, types, n); g_free(types); return CBOOL2RVAL(result); } static VALUE rg_remove_state(VALUE self, VALUE type) { return CBOOL2RVAL(atk_state_set_remove_state(_SELF(self), RVAL2ATKSTATETYPE(type))); } static VALUE rg_and(VALUE self, VALUE compare_set) { return GOBJ2RVAL(atk_state_set_and_sets(_SELF(self), _SELF(compare_set))); } static VALUE rg_or(VALUE self, VALUE compare_set) { return GOBJ2RVAL(atk_state_set_or_sets(_SELF(self), _SELF(compare_set))); } static VALUE rg_xor(VALUE self, VALUE compare_set) { return GOBJ2RVAL(atk_state_set_xor_sets(_SELF(self), _SELF(compare_set))); } void Init_atk_state_set(VALUE mAtk) { VALUE RG_TARGET_NAMESPACE = G_DEF_CLASS(ATK_TYPE_STATE_SET, "StateSet", mAtk); RG_DEF_METHOD(initialize, 0); RG_DEF_METHOD_P(empty, 0); RG_DEF_METHOD(add_state, 1); RG_DEF_METHOD(add_states, 1); RG_DEF_METHOD(clear_states, 0); RG_DEF_METHOD(contains_state, 1); RG_DEF_METHOD(contains_states, 1); RG_DEF_METHOD(remove_state, 1); RG_DEF_METHOD(and, 1); RG_DEF_ALIAS("&", "and"); RG_DEF_METHOD(or, 1); RG_DEF_ALIAS("|", "or"); RG_DEF_METHOD(xor, 1); RG_DEF_ALIAS("^", "xor"); } ruby-gnome-ruby-gnome-c1ffe87/atk-no-gi/ext/atk/rbatkstreamablecontent.c000066400000000000000000000034221460266665500264550ustar00rootroot00000000000000/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */ /* * Copyright (C) 2011 Ruby-GNOME2 Project Team * Copyright (C) 2003 Masao Mutoh * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser 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 "rbatkprivate.h" #define RG_TARGET_NAMESPACE mStreamableContent #define _SELF(s) (RVAL2ATKSTREAMABLECONTENT(s)) static VALUE rg_n_mime_types(VALUE self) { return INT2NUM(atk_streamable_content_get_n_mime_types(_SELF(self))); } static VALUE rg_mime_type(VALUE self, VALUE i) { return CSTR2RVAL(atk_streamable_content_get_mime_type(_SELF(self), NUM2INT(i))); } static VALUE rg_get_stream(VALUE self, VALUE mime_type) { GIOChannel* io = atk_streamable_content_get_stream(_SELF(self), RVAL2CSTR(mime_type)); if (!io) rb_raise(rb_eRuntimeError, "Couldn't get the stream."); return GIOCHANNEL2RVAL(io); } void Init_atk_streamable_content(VALUE mAtk) { VALUE RG_TARGET_NAMESPACE = G_DEF_INTERFACE(ATK_TYPE_STREAMABLE_CONTENT, "StreamableContent", mAtk); RG_DEF_METHOD(n_mime_types, 0); RG_DEF_METHOD(mime_type, 1); RG_DEF_METHOD(get_stream, 1); } ruby-gnome-ruby-gnome-c1ffe87/atk-no-gi/ext/atk/rbatktable.c000066400000000000000000000162441460266665500240400ustar00rootroot00000000000000/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */ /* * Copyright (C) 2011 Ruby-GNOME2 Project Team * Copyright (C) 2003,2004 Masao Mutoh * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser 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 "rbatkprivate.h" #define RG_TARGET_NAMESPACE mTable #define _SELF(s) (RVAL2ATKTABLE(s)) static VALUE rg_ref_at(VALUE self, VALUE row, VALUE column) { return GOBJ2RVAL(atk_table_ref_at(_SELF(self), NUM2INT(row), NUM2INT(column))); } static VALUE rg_get_index_at(VALUE self, VALUE row, VALUE column) { return INT2NUM(atk_table_get_index_at(_SELF(self), NUM2INT(row), NUM2INT(column))); } static VALUE rg_get_column_at_index(VALUE self, VALUE index_) { return INT2NUM(atk_table_get_column_at_index(_SELF(self), NUM2INT(index_))); } static VALUE rg_get_row_at_index(VALUE self, VALUE index_) { return INT2NUM(atk_table_get_row_at_index(_SELF(self), NUM2INT(index_))); } static VALUE rg_n_columns(VALUE self) { return INT2NUM(atk_table_get_n_columns(_SELF(self))); } static VALUE rg_n_rows(VALUE self) { return INT2NUM(atk_table_get_n_rows(_SELF(self))); } static VALUE rg_get_column_extent_at(VALUE self, VALUE row, VALUE column) { return INT2NUM(atk_table_get_column_extent_at(_SELF(self), NUM2INT(row), NUM2INT(column))); } static VALUE rg_get_row_extent_at(VALUE self, VALUE row, VALUE column) { return INT2NUM(atk_table_get_row_extent_at(_SELF(self), NUM2INT(row), NUM2INT(column))); } static VALUE rg_caption(VALUE self) { return GOBJ2RVAL(atk_table_get_caption(_SELF(self))); } static VALUE rg_get_column_description(VALUE self, VALUE column) { return CSTR2RVAL(atk_table_get_column_description(_SELF(self), NUM2INT(column))); } static VALUE rg_get_row_description(VALUE self, VALUE row) { return CSTR2RVAL(atk_table_get_row_description(_SELF(self), NUM2INT(row))); } static VALUE rg_get_column_header(VALUE self, VALUE column) { return GOBJ2RVAL(atk_table_get_column_header(_SELF(self), NUM2INT(column))); } static VALUE rg_get_row_header(VALUE self, VALUE row) { return GOBJ2RVAL(atk_table_get_row_header(_SELF(self), NUM2INT(row))); } static VALUE rg_summary(VALUE self) { return GOBJ2RVAL(atk_table_get_summary(_SELF(self))); } static VALUE rg_set_caption(VALUE self, VALUE caption) { atk_table_set_caption(_SELF(self), RVAL2ATKOBJECT(caption)); return self; } static VALUE rg_set_row_description(VALUE self, VALUE row, VALUE description) { atk_table_set_row_description(_SELF(self), NUM2INT(row), RVAL2CSTR(description)); return self; } static VALUE rg_set_column_description(VALUE self, VALUE column, VALUE description) { atk_table_set_column_description(_SELF(self), NUM2INT(column), RVAL2CSTR(description)); return self; } static VALUE rg_set_row_header(VALUE self, VALUE row, VALUE header) { atk_table_set_row_header(_SELF(self), NUM2INT(row), RVAL2ATKOBJECT(header)); return self; } static VALUE rg_set_column_header(VALUE self, VALUE column, VALUE header) { atk_table_set_column_header(_SELF(self), NUM2INT(column), RVAL2ATKOBJECT(header)); return self; } static VALUE rg_set_summary(VALUE self, VALUE accessible) { atk_table_set_summary(_SELF(self), RVAL2ATKOBJECT(accessible)); return self; } static VALUE rg_selected_columns(VALUE self) { gint ret; gint* selected; VALUE result = Qnil; ret = atk_table_get_selected_columns(_SELF(self), &selected); if (ret > 0){ gint i; result = rb_ary_new2(ret); for (i = 0; i < ret; i++){ rb_ary_push(result, INT2NUM(selected[i])); } } return result; } static VALUE rg_selected_rows(VALUE self) { gint ret; gint* selected; VALUE result = Qnil; ret = atk_table_get_selected_rows(_SELF(self), &selected); if (ret > 0){ gint i; result = rb_ary_new2(ret); for (i = 0; i < ret; i++){ rb_ary_push(result, INT2NUM(selected[i])); } } return result; } static VALUE rg_column_selected_p(VALUE self, VALUE column) { return CBOOL2RVAL(atk_table_is_column_selected(_SELF(self), NUM2INT(column))); } static VALUE rg_row_selected_p(VALUE self, VALUE row) { return CBOOL2RVAL(atk_table_is_row_selected(_SELF(self), NUM2INT(row))); } static VALUE rg_selected_p(VALUE self, VALUE row, VALUE column) { return CBOOL2RVAL(atk_table_is_selected(_SELF(self), NUM2INT(row), NUM2INT(column))); } static VALUE rg_add_column_selection(VALUE self, VALUE column) { gboolean ret = atk_table_add_column_selection(_SELF(self), NUM2INT(column)); if (! ret) rb_raise(rb_eRuntimeError, "not implement this interface"); return self; } static VALUE rg_add_row_selection(VALUE self, VALUE row) { gboolean ret = atk_table_add_row_selection(_SELF(self), NUM2INT(row)); if (! ret) rb_raise(rb_eRuntimeError, "not implement this interface"); return self; } static VALUE rg_remove_column_selection(VALUE self, VALUE column) { gboolean ret = atk_table_remove_column_selection(_SELF(self), NUM2INT(column)); if (! ret) rb_raise(rb_eRuntimeError, "not implement this interface"); return self; } static VALUE rg_remove_row_selection(VALUE self, VALUE row) { gboolean ret = atk_table_remove_row_selection(_SELF(self), NUM2INT(row)); if (! ret) rb_raise(rb_eRuntimeError, "not implement this interface"); return self; } void Init_atk_table(VALUE mAtk) { VALUE RG_TARGET_NAMESPACE = G_DEF_INTERFACE(ATK_TYPE_TABLE, "Table", mAtk); RG_DEF_METHOD(ref_at, 2); RG_DEF_METHOD(get_index_at, 2); RG_DEF_METHOD(get_column_at_index, 1); RG_DEF_METHOD(get_row_at_index, 1); RG_DEF_METHOD(n_columns, 0); RG_DEF_METHOD(n_rows, 0); RG_DEF_METHOD(get_column_extent_at, 2); RG_DEF_METHOD(get_row_extent_at, 2); RG_DEF_METHOD(caption, 0); RG_DEF_METHOD(get_column_description, 1); RG_DEF_METHOD(get_row_description, 1); RG_DEF_METHOD(get_column_header, 1); RG_DEF_METHOD(get_row_header, 1); RG_DEF_METHOD(summary, 0); RG_DEF_METHOD(set_caption, 1); RG_DEF_METHOD(set_row_description, 2); RG_DEF_METHOD(set_column_description, 2); RG_DEF_METHOD(set_row_header, 2); RG_DEF_METHOD(set_column_header, 2); RG_DEF_METHOD(set_summary, 1); RG_DEF_METHOD(selected_columns, 0); RG_DEF_METHOD(selected_rows, 0); RG_DEF_METHOD_P(column_selected, 1); RG_DEF_METHOD_P(row_selected, 1); RG_DEF_METHOD_P(selected, 2); RG_DEF_METHOD(add_column_selection, 1); RG_DEF_METHOD(add_row_selection, 1); RG_DEF_METHOD(remove_column_selection, 1); RG_DEF_METHOD(remove_row_selection, 1); } ruby-gnome-ruby-gnome-c1ffe87/atk-no-gi/ext/atk/rbatktext.c000066400000000000000000000230441460266665500237310ustar00rootroot00000000000000/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */ /* * Copyright (C) 2011 Ruby-GNOME2 Project Team * Copyright (C) 2004 Masao Mutoh * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser 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 "rbatkprivate.h" #define RG_TARGET_NAMESPACE mText #define _SELF(s) (RVAL2ATKTEXT(s)) static VALUE rg_get_text(VALUE self, VALUE start_offset, VALUE end_offset) { VALUE ret; gchar* text = atk_text_get_text(_SELF(self), NUM2INT(start_offset), NUM2INT(end_offset)); ret = CSTR2RVAL(text); g_free(text); return ret; } static VALUE rg_get_character_at_offset(VALUE self, VALUE offset) { gchar buf[10]; gint len = g_unichar_to_utf8(atk_text_get_character_at_offset (_SELF(self), NUM2INT(offset)), buf); buf[len] = '\0'; return rb_str_new2(buf); } static VALUE rg_get_text_after_offset(VALUE self, VALUE offset, VALUE boundary_type) { gchar* ret; VALUE result; gint start_offset, end_offset; ret = atk_text_get_text_after_offset(_SELF(self), NUM2INT(offset), RVAL2ATKTEXTBOUNDARY(boundary_type), &start_offset, &end_offset); result = rb_ary_new3(3, CSTR2RVAL(ret), INT2NUM(start_offset), INT2NUM(end_offset)); g_free(ret); return result; } static VALUE rg_get_text_at_offset(VALUE self, VALUE offset, VALUE boundary_type) { gchar* ret; VALUE result; gint start_offset, end_offset; ret = atk_text_get_text_at_offset(_SELF(self), NUM2INT(offset), RVAL2ATKTEXTBOUNDARY(boundary_type), &start_offset, &end_offset); result = rb_ary_new3(3, CSTR2RVAL(ret), INT2NUM(start_offset), INT2NUM(end_offset)); g_free(ret); return result; } static VALUE rg_get_text_before_offset(VALUE self, VALUE offset, VALUE boundary_type) { gchar* ret; VALUE result; gint start_offset, end_offset; ret = atk_text_get_text_before_offset(_SELF(self), NUM2INT(offset), RVAL2ATKTEXTBOUNDARY(boundary_type), &start_offset, &end_offset); result = rb_ary_new3(3, CSTR2RVAL(ret), INT2NUM(start_offset), INT2NUM(end_offset)); g_free(ret); return result; } static VALUE rg_caret_offset(VALUE self) { return INT2NUM(atk_text_get_caret_offset(_SELF(self))); } static VALUE rg_get_character_extents(VALUE self, VALUE offset, VALUE coords) { gint x, y, width, height; atk_text_get_character_extents(_SELF(self), NUM2INT(offset), &x, &y, &width, &height, RVAL2ATKCOORDTYPE(coords)); return rb_ary_new3(4, INT2NUM(x), INT2NUM(y), INT2NUM(width), INT2NUM(height)); } static VALUE rg_get_run_attributes(VALUE self, VALUE offset) { gint start_offset, end_offset; AtkAttributeSet* list; VALUE ary; list = atk_text_get_run_attributes(_SELF(self), NUM2INT(offset), &start_offset, &end_offset); ary = rb_ary_new(); while (list) { AtkAttribute* data = (AtkAttribute*)list->data; rb_ary_push(ary, rb_assoc_new(CSTR2RVAL(data->name), CSTR2RVAL(data->value))); list = list->next; } atk_attribute_set_free(list); return ary; } static VALUE rg_default_attributes(VALUE self) { AtkAttributeSet* list; VALUE ary; list = atk_text_get_default_attributes(_SELF(self)); ary = rb_ary_new(); while (list) { AtkAttribute* data = (AtkAttribute*)list->data; rb_ary_push(ary, rb_assoc_new(CSTR2RVAL(data->name), CSTR2RVAL(data->value))); list = list->next; } atk_attribute_set_free(list); return ary; } static VALUE rg_character_count(VALUE self) { return INT2NUM(atk_text_get_character_count(_SELF(self))); } static VALUE rg_get_offset_at_point(VALUE self, VALUE x, VALUE y, VALUE coords) { return INT2NUM(atk_text_get_offset_at_point(_SELF(self), NUM2INT(x), NUM2INT(y), RVAL2ATKCOORDTYPE(coords))); } #ifdef HAVE_ATK_TEXT_GET_BOUNDED_RANGES #ifdef HAVE_ATK_TEXT_CLIP_TYPE_GET_TYPE static VALUE rg_get_bounded_ranges(VALUE self, VALUE rect, VALUE coord_type, VALUE x_clip_type, VALUE y_clip_type) { AtkTextRange** ranges; int i = 0; VALUE ary; ranges = atk_text_get_bounded_ranges(_SELF(self), RVAL2ATKTEXTRECTANGLE(rect), RVAL2ATKCOORDTYPE(coord_type), RVAL2ATKTEXTCLIPTYPE(x_clip_type), RVAL2ATKTEXTCLIPTYPE(y_clip_type)); ary = rb_ary_new(); while(ranges[i]){ rb_ary_push(ary, ATKTEXTRANGE2RVAL(ranges[i])); i++; } #ifdef HAVE_ATK_TEXT_FREE_RANGES atk_text_free_ranges(ranges); #endif return ary; } #endif static VALUE rg_get_range_extents(VALUE self, VALUE start_offset, VALUE end_offset, VALUE coord_type) { AtkTextRectangle rect; atk_text_get_range_extents(_SELF(self), NUM2INT(start_offset), NUM2INT(end_offset), RVAL2ATKCOORDTYPE(coord_type), &rect); return ATKTEXTRECTANGLE2RVAL(&rect); } /* Don't need this void atk_text_free_ranges (AtkTextRange **ranges); */ #endif static VALUE rg_n_selections(VALUE self) { return INT2NUM(atk_text_get_n_selections(_SELF(self))); } static VALUE rg_get_selection(VALUE self, VALUE selection_num) { gint start_offset, end_offset; VALUE ret; gchar* text = atk_text_get_selection(_SELF(self), NUM2INT(selection_num), &start_offset, &end_offset); ret = CSTR2RVAL(text); g_free(text); return ret; } static VALUE rg_add_selection(VALUE self, VALUE start_offset, VALUE end_offset) { gboolean ret = atk_text_add_selection(_SELF(self), NUM2INT(start_offset), NUM2INT(end_offset)); if (! ret) rb_raise(rb_eRuntimeError, "Can't add selection"); return self; } static VALUE rg_remove_selection(VALUE self, VALUE selection_num) { gint num; gboolean ret; num = NUM2INT(selection_num); ret = atk_text_remove_selection(_SELF(self), num); if (! ret) rb_raise(rb_eRuntimeError, "Can't remove selection. num = %d", num); return self; } static VALUE rg_set_selection(VALUE self, VALUE selection_num, VALUE start_offset, VALUE end_offset) { gboolean ret = atk_text_set_selection(_SELF(self), NUM2INT(selection_num), NUM2INT(start_offset), NUM2INT(end_offset)); if (! ret) rb_raise(rb_eRuntimeError, "Can't set selection"); return self; } static VALUE rg_set_caret_offset(VALUE self, VALUE offset) { gboolean ret = atk_text_set_caret_offset(_SELF(self), NUM2INT(offset)); if (! ret) rb_raise(rb_eRuntimeError, "Can't set caret offset"); return self; } /* We don't need them. void atk_attribute_set_free (AtkAttributeSet *attrib_set); */ void Init_atk_text(VALUE mAtk) { VALUE RG_TARGET_NAMESPACE = G_DEF_INTERFACE(ATK_TYPE_TEXT, "Text", mAtk); RG_DEF_METHOD(get_text, 2); RG_DEF_METHOD(get_character_at_offset, 1); RG_DEF_METHOD(get_text_after_offset, 2); RG_DEF_METHOD(get_text_at_offset, 2); RG_DEF_METHOD(get_text_before_offset, 2); RG_DEF_METHOD(caret_offset, 0); RG_DEF_METHOD(get_character_extents, 2); RG_DEF_METHOD(get_run_attributes, 1); RG_DEF_METHOD(default_attributes, 0); RG_DEF_METHOD(character_count, 0); RG_DEF_METHOD(get_offset_at_point, 3); #ifdef HAVE_ATK_TEXT_GET_BOUNDED_RANGES #ifdef HAVE_ATK_TEXT_CLIP_TYPE_GET_TYPE RG_DEF_METHOD(get_bounded_ranges, 4); RG_DEF_METHOD(get_range_extents, 3); #endif #endif RG_DEF_METHOD(n_selections, 0); RG_DEF_METHOD(get_selection, 1); RG_DEF_METHOD(add_selection, 2); RG_DEF_METHOD(remove_selection, 1); RG_DEF_METHOD(set_selection, 3); RG_DEF_METHOD(set_caret_offset, 1); /* AtkTextBoundary */ #ifdef ATK_TYPE_TEXT_BOUNDARY G_DEF_CLASS(ATK_TYPE_TEXT_BOUNDARY, "Boundary", RG_TARGET_NAMESPACE); G_DEF_CONSTANTS(RG_TARGET_NAMESPACE, ATK_TYPE_TEXT_BOUNDARY, "ATK_TEXT_"); #endif /* AtkTextClipType */ #ifdef HAVE_ATK_TEXT_GET_BOUNDED_RANGES #ifdef HAVE_ATK_TEXT_CLIP_TYPE_GET_TYPE G_DEF_CLASS(ATK_TYPE_TEXT_CLIP_TYPE, "ClipType", RG_TARGET_NAMESPACE); G_DEF_CONSTANTS(RG_TARGET_NAMESPACE, ATK_TYPE_TEXT_CLIP_TYPE, "ATK_TEXT_"); #endif #endif Init_atk_text_attribute(RG_TARGET_NAMESPACE); } ruby-gnome-ruby-gnome-c1ffe87/atk-no-gi/ext/atk/rbatktextattribute.c000066400000000000000000000034041460266665500256530ustar00rootroot00000000000000/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */ /* * Copyright (C) 2011 Ruby-GNOME2 Project Team * Copyright (C) 2004 Masao Mutoh * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser 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 "rbatkprivate.h" #define RG_TARGET_NAMESPACE cAttribute static VALUE rg_s_type_register(G_GNUC_UNUSED VALUE self, VALUE name) { return ATKTEXTATTRIBUTE2RVAL(atk_text_attribute_register(RVAL2CSTR(name))); } static VALUE rg_s_for_name(G_GNUC_UNUSED VALUE self, VALUE name) { return ATKTEXTATTRIBUTE2RVAL(atk_text_attribute_for_name(RVAL2CSTR(name))); } static VALUE rg_get_value(VALUE self, VALUE index) { return CSTR2RVAL(atk_text_attribute_get_value(RVAL2ATKTEXTATTRIBUTE(self), NUM2INT(index))); } void Init_atk_text_attribute(VALUE mText) { VALUE RG_TARGET_NAMESPACE = G_DEF_CLASS(ATK_TYPE_TEXT_ATTRIBUTE, "Attribute", mText); G_DEF_CONSTANTS(mText, ATK_TYPE_TEXT_ATTRIBUTE, "ATK_TEXT_"); RG_DEF_SMETHOD(type_register, 1); RG_DEF_SMETHOD(for_name, 1); RG_DEF_METHOD(get_value, 1); } ruby-gnome-ruby-gnome-c1ffe87/atk-no-gi/ext/atk/rbatktextrange.c000066400000000000000000000047201460266665500247460ustar00rootroot00000000000000/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */ /* * Copyright (C) 2011 Ruby-GNOME2 Project Team * Copyright (C) 2004 Masao Mutoh * Copyright (C) 2002,2003 Masao Mutoh * Copyright (C) 1998-2000 Yukihiro Matsumoto, * Daisuke Kanda, * Hiroshi Igarashi * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser 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 "rbatkprivate.h" #ifdef HAVE_ATK_TEXT_GET_BOUNDED_RANGES #define RG_TARGET_NAMESPACE cTextRange #define _SELF(r) (RVAL2ATKTEXTRANGE(r)) /**********************************/ static AtkTextRange* atk_text_range_copy(const AtkTextRange* val) { AtkTextRange* new_val; g_return_val_if_fail (val != NULL, NULL); new_val = g_new(AtkTextRange, 1); *new_val = *val; return new_val; } GType atk_text_range_get_type(void) { static GType our_type = 0; if (our_type == 0) our_type = g_boxed_type_register_static ("AtkTextRange", (GBoxedCopyFunc)atk_text_range_copy, (GBoxedFreeFunc)g_free); return our_type; } /**********************************/ /* Struct accessors */ static VALUE rg_bounds(VALUE self) { return ATKTEXTRECTANGLE2RVAL(&_SELF(self)->bounds); } static VALUE rg_start_offset(VALUE self) { return INT2NUM(_SELF(self)->start_offset); } static VALUE rg_end_offset(VALUE self) { return INT2NUM(_SELF(self)->end_offset); } static VALUE rg_content(VALUE self) { return CSTR2RVAL(_SELF(self)->content); } #endif void Init_atk_text_range(VALUE mAtk) { #ifdef HAVE_ATK_TEXT_GET_BOUNDED_RANGES VALUE RG_TARGET_NAMESPACE = G_DEF_CLASS(ATK_TYPE_TEXT_RANGE, "TextRange", mAtk); RG_DEF_METHOD(bounds, 0); RG_DEF_METHOD(start_offset, 0); RG_DEF_METHOD(end_offset, 0); RG_DEF_METHOD(content, 0); #endif } ruby-gnome-ruby-gnome-c1ffe87/atk-no-gi/ext/atk/rbatktextrectangle.c000066400000000000000000000070671460266665500256250ustar00rootroot00000000000000/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */ /* * Copyright (C) 2011 Ruby-GNOME2 Project Team * Copyright (C) 2004 Masao Mutoh * Copyright (C) 2002,2003 Masao Mutoh * Copyright (C) 1998-2000 Yukihiro Matsumoto, * Daisuke Kanda, * Hiroshi Igarashi * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser 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 "rbatkprivate.h" #ifdef HAVE_ATK_TEXT_GET_BOUNDED_RANGES #define RG_TARGET_NAMESPACE cTextRectangle #define _SELF(r) (RVAL2ATKTEXTRECTANGLE(r)) /**********************************/ static AtkTextRectangle* atk_text_rectangle_copy(const AtkTextRectangle* val) { AtkTextRectangle* new_val; g_return_val_if_fail (val != NULL, NULL); new_val = g_new(AtkTextRectangle, 1); *new_val = *val; return new_val; } GType atk_text_rectangle_get_type(void) { static GType our_type = 0; if (our_type == 0) our_type = g_boxed_type_register_static ("AtkTextRectangle", (GBoxedCopyFunc)atk_text_rectangle_copy, (GBoxedFreeFunc)g_free); return our_type; } /**********************************/ static VALUE rg_initialize(VALUE self, VALUE x, VALUE y, VALUE width, VALUE height) { AtkTextRectangle rectangle; rectangle.x = NUM2INT(x); rectangle.y = NUM2INT(y); rectangle.width = NUM2INT(width); rectangle.height = NUM2INT(height); G_INITIALIZE(self, g_boxed_copy(ATK_TYPE_TEXT_RECTANGLE, &rectangle)); return Qnil; } /* Struct accessors */ static VALUE rg_x(VALUE self) { return INT2NUM(_SELF(self)->x); } static VALUE rg_y(VALUE self) { return INT2NUM(_SELF(self)->y); } static VALUE rg_width(VALUE self) { return INT2NUM(_SELF(self)->width); } static VALUE rg_height(VALUE self) { return INT2NUM(_SELF(self)->height); } static VALUE rg_set_x(VALUE self, VALUE x) { _SELF(self)->x = NUM2INT(x); return self; } static VALUE rg_set_y(VALUE self, VALUE y) { _SELF(self)->y = NUM2INT(y); return self; } static VALUE rg_set_width(VALUE self, VALUE width) { _SELF(self)->width = NUM2INT(width); return self; } static VALUE rg_set_height(VALUE self, VALUE height) { _SELF(self)->height = NUM2INT(height); return self; } static VALUE rg_to_a(VALUE self) { AtkTextRectangle* a = _SELF(self); return rb_ary_new3(4, INT2FIX(a->x), INT2FIX(a->y), INT2FIX(a->width), INT2FIX(a->height)); } #endif void Init_atk_text_rectangle(VALUE mAtk) { #ifdef HAVE_ATK_TEXT_GET_BOUNDED_RANGES VALUE RG_TARGET_NAMESPACE = G_DEF_CLASS(ATK_TYPE_TEXT_RECTANGLE, "TextRectangle", mAtk); RG_DEF_METHOD(initialize, 4); RG_DEF_METHOD(x, 0); RG_DEF_METHOD(y, 0); RG_DEF_METHOD(width, 0); RG_DEF_METHOD(height, 0); RG_DEF_METHOD(set_x, 1); RG_DEF_METHOD(set_y, 1); RG_DEF_METHOD(set_width, 1); RG_DEF_METHOD(set_height, 1); RG_DEF_METHOD(to_a, 0); #endif } ruby-gnome-ruby-gnome-c1ffe87/atk-no-gi/ext/atk/rbatkutil.c000066400000000000000000000072701460266665500237250ustar00rootroot00000000000000/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */ /* * Copyright (C) 2011 Ruby-GNOME2 Project Team * Copyright (C) 2004 Masao Mutoh * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser 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 "rbatkprivate.h" #define RG_TARGET_NAMESPACE cUtil static ID id_call; /* How can I implement them? guint atk_add_focus_tracker (AtkEventListener focus_tracker); void atk_remove_focus_tracker (guint tracker_id); void atk_focus_tracker_init (AtkEventListenerInit add_function); void (*AtkEventListener) (AtkObject*); void (*AtkEventListenerInit) (void); guint atk_add_global_event_listener (GSignalEmissionHook listener, const gchar *event_type); void atk_remove_global_event_listener (guint listener_id); */ static VALUE rg_s_focus_tracker_notify(VALUE self, VALUE obj) { atk_focus_tracker_notify(RVAL2ATKOBJECT(obj)); return self; } static gint key_snoop_func(AtkKeyEventStruct* event, gpointer func) { VALUE ret = rb_funcall((VALUE)func, id_call, 7, INT2NUM(event->type), UINT2NUM(event->state), UINT2NUM(event->keyval), INT2NUM(event->length), CSTR2RVAL(event->string), UINT2NUM(event->keycode), UINT2NUM(event->timestamp)); return NUM2INT(ret); } static VALUE rg_s_add_key_event_listener(VALUE self) { guint ret; VALUE func = rb_block_proc(); G_RELATIVE(self, func); ret = atk_add_key_event_listener((AtkKeySnoopFunc)key_snoop_func, (gpointer)func); return UINT2NUM(ret); } static VALUE rg_s_remove_key_event_listener(VALUE self, VALUE id) { atk_remove_key_event_listener(NUM2UINT(id)); return self; } static VALUE rg_s_root(G_GNUC_UNUSED VALUE self) { return GOBJ2RVAL(atk_get_root()); } static VALUE rg_s_focus_object(G_GNUC_UNUSED VALUE self) { return GOBJ2RVAL(atk_get_focus_object()); } static VALUE rg_s_toolkit_name(G_GNUC_UNUSED VALUE self) { return CSTR2RVAL(atk_get_toolkit_name()); } static VALUE rg_s_toolkit_version(G_GNUC_UNUSED VALUE self) { return CSTR2RVAL(atk_get_toolkit_version()); } void Init_atk_util(VALUE mAtk) { VALUE RG_TARGET_NAMESPACE = G_DEF_CLASS(ATK_TYPE_UTIL, "Util", mAtk); id_call = rb_intern("call"); RG_DEF_SMETHOD(focus_tracker_notify, 1); RG_DEF_SMETHOD(add_key_event_listener, 0); RG_DEF_SMETHOD(remove_key_event_listener, 1); RG_DEF_SMETHOD(root, 0); RG_DEF_SMETHOD(focus_object, 0); RG_DEF_SMETHOD(toolkit_name, 0); RG_DEF_SMETHOD(toolkit_version, 0); /* AtkCoordType */ G_DEF_CLASS(ATK_TYPE_COORD_TYPE, "CoordType", RG_TARGET_NAMESPACE); G_DEF_CONSTANTS(RG_TARGET_NAMESPACE, ATK_TYPE_COORD_TYPE, "ATK_"); /* AtkKeyEventType */ G_DEF_CLASS(ATK_TYPE_KEY_EVENT_TYPE, "KeyEventType", RG_TARGET_NAMESPACE); G_DEF_CONSTANTS(RG_TARGET_NAMESPACE, ATK_TYPE_KEY_EVENT_TYPE, "ATK_"); } ruby-gnome-ruby-gnome-c1ffe87/atk-no-gi/ext/atk/rbatkvalue.c000066400000000000000000000037651460266665500240710ustar00rootroot00000000000000/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */ /* * Copyright (C) 2011 Ruby-GNOME2 Project Team * Copyright (C) 2003 Masao Mutoh * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser 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 "rbatkprivate.h" #define RG_TARGET_NAMESPACE mValue #define _SELF(s) (RVAL2ATKVALUE(s)) static VALUE rg_current(VALUE self) { GValue gval = G_VALUE_INIT; atk_value_get_current_value(_SELF(self), &gval); return GVAL2RVAL(&gval); } static VALUE rg_max(VALUE self) { GValue gval = G_VALUE_INIT; atk_value_get_maximum_value(_SELF(self), &gval); return GVAL2RVAL(&gval); } static VALUE rg_min(VALUE self) { GValue gval = G_VALUE_INIT; atk_value_get_minimum_value(_SELF(self), &gval); return GVAL2RVAL(&gval); } static VALUE rg_set_current(VALUE self, VALUE value) { GValue gval = G_VALUE_INIT; g_value_init(&gval, RVAL2GTYPE(value)); rbgobj_rvalue_to_gvalue(value, &gval); if (! atk_value_set_current_value(_SELF(self), &gval)){ rb_raise(rb_eRuntimeError, "Can't set the current value."); } return self; } void Init_atk_value(VALUE mAtk) { VALUE RG_TARGET_NAMESPACE = G_DEF_INTERFACE(ATK_TYPE_VALUE, "Value", mAtk); RG_DEF_METHOD(current, 0); RG_DEF_METHOD(max, 0); RG_DEF_METHOD(min, 0); RG_DEF_METHOD(set_current, 1); } ruby-gnome-ruby-gnome-c1ffe87/atk-no-gi/ext/atk/rbatkversion.h000066400000000000000000000012471460266665500244400ustar00rootroot00000000000000/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */ /************************************************ rbatkversion.h - This file was generated by mkmf-gnome2.rb. ************************************************/ #ifndef __RBATK_VERSION_H__ #define __RBATK_VERSION_H__ #define ATK_MAJOR_VERSION (2) #define ATK_MINOR_VERSION (20) #define ATK_MICRO_VERSION (0) #define ATK_CHECK_VERSION(major,minor,micro) \ (ATK_MAJOR_VERSION > (major) || \ (ATK_MAJOR_VERSION == (major) && ATK_MINOR_VERSION > (minor)) || \ (ATK_MAJOR_VERSION == (major) && ATK_MINOR_VERSION == (minor) && \ ATK_MICRO_VERSION >= (micro))) #endif /* __RBATK_VERSION_H__ */ ruby-gnome-ruby-gnome-c1ffe87/atk-no-gi/extconf.rb000066400000000000000000000022221460266665500221640ustar00rootroot00000000000000#!/usr/bin/env ruby require 'pathname' require 'mkmf' require 'rbconfig' require 'fileutils' package = "atk" base_dir = Pathname(__FILE__).dirname.expand_path ext_dir = base_dir + "ext" + package mkmf_gnome2_dir = base_dir + 'lib' ruby = File.join(RbConfig::CONFIG['bindir'], RbConfig::CONFIG['ruby_install_name'] + RbConfig::CONFIG["EXEEXT"]) build_dir = Pathname("ext") + package FileUtils.mkdir_p(build_dir.to_s) unless build_dir.exist? extconf_rb_path = ext_dir + "extconf.rb" system(ruby, "-C", build_dir.to_s, extconf_rb_path.to_s, *ARGV) || exit(false) create_makefile(package) FileUtils.mv("Makefile", "Makefile.lib") File.open("Makefile", "w") do |makefile| makefile.puts(<<-EOM) all: (cd ext/#{package} && $(MAKE)) $(MAKE) -f Makefile.lib install: (cd ext/#{package} && $(MAKE) install) $(MAKE) -f Makefile.lib install site-install: (cd ext/#{package} && $(MAKE) site-install) $(MAKE) -f Makefile.lib site-install clean: (cd ext/#{package} && $(MAKE) clean) $(MAKE) -f Makefile.lib clean distclean: (cd ext/#{package} && $(MAKE) distclean) $(MAKE) -f Makefile.lib distclean @rm -f Makefile.lib EOM end ruby-gnome-ruby-gnome-c1ffe87/atk-no-gi/lib/000077500000000000000000000000001460266665500207415ustar00rootroot00000000000000ruby-gnome-ruby-gnome-c1ffe87/atk-no-gi/lib/atk.rb000066400000000000000000000032371460266665500220520ustar00rootroot00000000000000# Copyright (C) 2015 Ruby-GNOME2 Project Team # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser 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 require 'glib2' base_dir = Pathname.new(__FILE__).dirname.dirname.expand_path vendor_dir = base_dir + "vendor" + "local" vendor_bin_dir = vendor_dir + "bin" GLib.prepend_dll_path(vendor_bin_dir) begin major, minor, _ = RUBY_VERSION.split(/\./) require "#{major}.#{minor}/atk.so" rescue LoadError require 'atk.so' end if vendor_dir.exist? begin require "gobject-introspection" vendor_girepository_dir = vendor_dir + "lib" + "girepository-1.0" GObjectIntrospection.prepend_typelib_path(vendor_girepository_dir) rescue LoadError end end module Atk module Version MAJOR, MINOR, MICRO = Atk::BUILD_VERSION STRING = Atk::BUILD_VERSION.join(".") class << self def or_later?(major, minor, micro=nil) micro ||= 0 version = [ MAJOR, MINOR, MICRO, ] (version <=> [major, minor, micro]) >= 0 end end end end ruby-gnome-ruby-gnome-c1ffe87/atk-no-gi/test/000077500000000000000000000000001460266665500211525ustar00rootroot00000000000000ruby-gnome-ruby-gnome-c1ffe87/atk-no-gi/test/atk-test-utils.rb000066400000000000000000000014671460266665500244010ustar00rootroot00000000000000# Copyright (C) 2013 Ruby-GNOME2 Project Team # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser 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 require "test-unit" module AtkTestUtils end ruby-gnome-ruby-gnome-c1ffe87/atk-no-gi/test/run-test.rb000077500000000000000000000030301460266665500232570ustar00rootroot00000000000000#!/usr/bin/env ruby # # Copyright (C) 2013-2015 Ruby-GNOME2 Project Team # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser 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 ruby_gnome2_base = File.join(File.dirname(__FILE__), "..", "..") ruby_gnome2_base = File.expand_path(ruby_gnome2_base) glib_base = File.join(ruby_gnome2_base, "glib2") atk_base = File.join(ruby_gnome2_base, "atk") modules = [ [glib_base, "glib2"], [atk_base, "atk"] ] modules.each do |target, module_name| if system("which make > /dev/null") `make -C #{target.dump} > /dev/null` or exit(false) end $LOAD_PATH.unshift(File.join(target, "ext", module_name)) $LOAD_PATH.unshift(File.join(target, "lib")) end $LOAD_PATH.unshift(File.join(glib_base, "test")) require "glib-test-init" $LOAD_PATH.unshift(File.join(atk_base, "test")) require "atk-test-utils" require "atk" exit Test::Unit::AutoRunner.run(true, File.join(atk_base, "test")) ruby-gnome-ruby-gnome-c1ffe87/atk-no-gi/test/test-text-rectangle.rb000066400000000000000000000017411460266665500254050ustar00rootroot00000000000000# -*- coding: utf-8 -*- # # Copyright (C) 2013 Ruby-GNOME2 Project Team # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser 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 class TestAtkRectangle < Test::Unit::TestCase include AtkTestUtils def test_width rectangle = Atk::TextRectangle.new(0, 10, 20, 30) assert_equal(20, rectangle.width) end end ruby-gnome-ruby-gnome-c1ffe87/atk-no-gi/test/test-version.rb000066400000000000000000000033471460266665500241500ustar00rootroot00000000000000# Copyright (C) 2015 Ruby-GNOME2 Project Team # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser 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 class TestAtkVersion < Test::Unit::TestCase include AtkTestUtils test "STRING" do major = Atk::Version::MAJOR minor = Atk::Version::MINOR micro = Atk::Version::MICRO assert_equal([major, minor, micro].join("."), Atk::Version::STRING) end sub_test_case("#or_later?") do test "same" do assert_true(Atk::Version.or_later?(Atk::Version::MAJOR, Atk::Version::MINOR, Atk::Version::MICRO)) end test "later" do assert_true(Atk::Version.or_later?(Atk::Version::MAJOR, Atk::Version::MINOR - 1, Atk::Version::MICRO)) end test "earlier" do assert_false(Atk::Version.or_later?(Atk::Version::MAJOR, Atk::Version::MINOR + 1, Atk::Version::MICRO)) end end end ruby-gnome-ruby-gnome-c1ffe87/atk/000077500000000000000000000000001460266665500171645ustar00rootroot00000000000000ruby-gnome-ruby-gnome-c1ffe87/atk/COPYING.LIB000066400000000000000000000636421460266665500206370ustar00rootroot00000000000000 GNU LESSER GENERAL PUBLIC LICENSE Version 2.1, February 1999 Copyright (C) 1991, 1999 Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 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 Lesser GPL. It also counts as the successor of the GNU Library Public License, version 2, hence the version number 2.1.] 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 Lesser General Public License, applies to some specially designated software packages--typically libraries--of the Free Software Foundation and other authors who decide to use it. You can use it too, but we suggest you first think carefully about whether this license or the ordinary General Public License is the better strategy to use in any particular case, based on the explanations below. When we speak of free software, we are referring to freedom of use, 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 and use pieces of it in new free programs; and that you are informed that you can do these things. To protect your rights, we need to make restrictions that forbid distributors to deny you these rights or to ask you to surrender these 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 other code 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. We protect your rights with a two-step method: (1) we copyright the library, and (2) we offer you this license, which gives you legal permission to copy, distribute and/or modify the library. To protect each distributor, we want to make it very clear that there is no warranty for the free library. Also, if the library is modified by someone else and passed on, the recipients should know that what they have is not the original version, so that the original author's reputation will not be affected by problems that might be introduced by others. Finally, software patents pose a constant threat to the existence of any free program. We wish to make sure that a company cannot effectively restrict the users of a free program by obtaining a restrictive license from a patent holder. Therefore, we insist that any patent license obtained for a version of the library must be consistent with the full freedom of use specified in this license. Most GNU software, including some libraries, is covered by the ordinary GNU General Public License. This license, the GNU Lesser General Public License, applies to certain designated libraries, and is quite different from the ordinary General Public License. We use this license for certain libraries in order to permit linking those libraries into non-free programs. When a program is linked with a library, whether statically or using a shared library, the combination of the two is legally speaking a combined work, a derivative of the original library. The ordinary General Public License therefore permits such linking only if the entire combination fits its criteria of freedom. The Lesser General Public License permits more lax criteria for linking other code with the library. We call this license the "Lesser" General Public License because it does Less to protect the user's freedom than the ordinary General Public License. It also provides other free software developers Less of an advantage over competing non-free programs. These disadvantages are the reason we use the ordinary General Public License for many libraries. However, the Lesser license provides advantages in certain special circumstances. For example, on rare occasions, there may be a special need to encourage the widest possible use of a certain library, so that it becomes a de-facto standard. To achieve this, non-free programs must be allowed to use the library. A more frequent case is that a free library does the same job as widely used non-free libraries. In this case, there is little to gain by limiting the free library to free software only, so we use the Lesser General Public License. In other cases, permission to use a particular library in non-free programs enables a greater number of people to use a large body of free software. For example, permission to use the GNU C Library in non-free programs enables many more people to use the whole GNU operating system, as well as its variant, the GNU/Linux operating system. Although the Lesser General Public License is Less protective of the users' freedom, it does ensure that the user of a program that is linked with the Library has the freedom and the wherewithal to run that program using a modified version of the Library. 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, whereas the latter must be combined with the library in order to run. GNU LESSER GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License Agreement applies to any software library or other program which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Lesser 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 combine 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) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (1) uses at run time a copy of the library already present on the user's computer system, rather than copying library functions into the executable, and (2) will operate properly with a modified version of the library, if the user installs one, as long as the modified version is interface-compatible with the version that the work was made with. c) 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. d) 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. e) 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 materials to be 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 with 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 Lesser 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. Copyright (C) This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 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 Lesser General Public License for more details. You should have received a copy of the GNU Lesser 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 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. , 1 April 1990 Ty Coon, President of Vice That's all there is to it! ruby-gnome-ruby-gnome-c1ffe87/atk/README.md000066400000000000000000000011021460266665500204350ustar00rootroot00000000000000# Ruby/ATK Ruby/ATK is a Ruby binding of ATK-1.12.x or later based on GObject-Introspection. ## Requirements * [Ruby/GObject-Introspection](https://github.com/ruby-gnome/ruby-gnome) * [Ruby/GLib2](https://github.com/ruby-gnome/ruby-gnome) ## Install gem install atk ## License Copyright (c) 2017-2020 Ruby-GNOME2 Project Team This program is free software. You can distribute/modify this program under the terms of the GNU LESSER GENERAL PUBLIC LICENSE Version 2.1. ## Project Websites * https://github.com/ruby-gnome/ruby-gnome * https://ruby-gnome2.osdn.jp/ ruby-gnome-ruby-gnome-c1ffe87/atk/Rakefile000066400000000000000000000020131460266665500206250ustar00rootroot00000000000000# -*- ruby -*- # # Copyright (C) 2017-2018 Ruby-GNOME2 Project Team # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser 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 $LOAD_PATH.unshift("./../glib2/lib") require "gnome2/rake/package-task" package_name = File.basename(__dir__) spec = Gem::Specification.load("#{package_name}.gemspec") GNOME2::Rake::PackageTask.define(spec, __dir__) do |package| end ruby-gnome-ruby-gnome-c1ffe87/atk/atk.gemspec000066400000000000000000000031531460266665500213120ustar00rootroot00000000000000# -*- ruby -*- # # Copyright (C) 2018-2020 Ruby-GNOME Project Team # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser 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 require_relative "../glib2/version" Gem::Specification.new do |s| s.name = "atk" s.summary = "Ruby/ATK is a Ruby binding of ATK-1.0.x." s.description = "Ruby/ATK is a Ruby binding of ATK-1.0.x." s.author = "The Ruby-GNOME Project Team" s.email = "ruby-gnome2-devel-en@lists.sourceforge.net" s.homepage = "https://ruby-gnome2.osdn.jp/" s.licenses = ["LGPL-2.1+"] s.version = ruby_glib2_version s.extensions = ["dependency-check/Rakefile"] s.require_paths = ["lib"] s.files = [ "COPYING.LIB", "README.md", "Rakefile", "#{s.name}.gemspec", "dependency-check/Rakefile", ] s.files += Dir.glob("lib/**/*.rb") s.files += Dir.glob("test/**/*") s.add_runtime_dependency("glib2", "= #{s.version}") s.metadata["msys2_mingw_dependencies"] = "atk" end ruby-gnome-ruby-gnome-c1ffe87/atk/dependency-check/000077500000000000000000000000001460266665500223555ustar00rootroot00000000000000ruby-gnome-ruby-gnome-c1ffe87/atk/dependency-check/Rakefile000066400000000000000000000031101460266665500240150ustar00rootroot00000000000000# Copyright (C) 2017-2023 Ruby-GNOME Project Team # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser 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 require "pkg-config" require "native-package-installer" task :default => "dependency:check" namespace :dependency do desc "Check dependency" task :check do package_id = "atk" unless PKGConfig.check_version?(package_id) unless NativePackageInstaller.install(:alt_linux => "libatk-devel", :conda => "atk", :debian => "libatk1.0-dev", :redhat => "pkgconfig(#{package_id})", :arch_linux => "atk", :homebrew => "atk", :macports => "atk", :msys2 => "atk") exit(false) end end end end ruby-gnome-ruby-gnome-c1ffe87/atk/lib/000077500000000000000000000000001460266665500177325ustar00rootroot00000000000000ruby-gnome-ruby-gnome-c1ffe87/atk/lib/atk.rb000066400000000000000000000031471460266665500210430ustar00rootroot00000000000000# Copyright (C) 2017-2018 Ruby-GNOME2 Project Team # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser 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 require "gobject-introspection" module Atk LOG_DOMAIN = "Atk" GLib::Log.set_log_domain(LOG_DOMAIN) class Loader < GObjectIntrospection::Loader end loader = Loader.new(self) loader.load("Atk") class TextRectangle def initialize(x=nil, y=nil, width=nil, height=nil) super() self.x = x if x self.y = y if y self.width = width if width self.height = height if height end end module Version MAJOR = MAJOR_VERSION MINOR = MINOR_VERSION MICRO = MICRO_VERSION STRING = "#{MAJOR_VERSION}.#{MINOR_VERSION}.#{MICRO_VERSION}" class << self def or_later?(major, minor, micro=nil) micro ||= 0 version = [ MAJOR_VERSION, MINOR_VERSION, MICRO_VERSION, ] (version <=> [major, minor, micro]) >= 0 end end end end ruby-gnome-ruby-gnome-c1ffe87/atk/test/000077500000000000000000000000001460266665500201435ustar00rootroot00000000000000ruby-gnome-ruby-gnome-c1ffe87/atk/test/atk-test-utils.rb000066400000000000000000000014651460266665500233700ustar00rootroot00000000000000# Copyright (C) 2017-2021 Ruby-GNOME Project Team # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser 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 require "atk" module AtkTestUtils end ruby-gnome-ruby-gnome-c1ffe87/atk/test/run-test.rb000077500000000000000000000017601460266665500222600ustar00rootroot00000000000000#!/usr/bin/env ruby # # Copyright (C) 2017-2021 Ruby-GNOME Project Team # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser 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 require_relative "../../glib2/test/run-test" run_test(__dir__, [ "glib2", "gobject-introspection", "atk", ]) do require_relative "atk-test-utils" end ruby-gnome-ruby-gnome-c1ffe87/atk/test/test-text-rectangle.rb000066400000000000000000000020651460266665500243760ustar00rootroot00000000000000# Copyright (C) 2017 Ruby-GNOME2 Project Team # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser 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 class TestAtkTextRectangle < Test::Unit::TestCase include AtkTestUtils def test_width rectangle = Atk::TextRectangle.new(0, 10, 20, 30) assert_equal(0, rectangle.x) assert_equal(10, rectangle.y) assert_equal(20, rectangle.width) assert_equal(30, rectangle.height) end end ruby-gnome-ruby-gnome-c1ffe87/atk/test/test-version.rb000066400000000000000000000033471460266665500231410ustar00rootroot00000000000000# Copyright (C) 2017 Ruby-GNOME2 Project Team # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser 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 class TestAtkVersion < Test::Unit::TestCase include AtkTestUtils test "STRING" do major = Atk::Version::MAJOR minor = Atk::Version::MINOR micro = Atk::Version::MICRO assert_equal([major, minor, micro].join("."), Atk::Version::STRING) end sub_test_case("#or_later?") do test "same" do assert_true(Atk::Version.or_later?(Atk::Version::MAJOR, Atk::Version::MINOR, Atk::Version::MICRO)) end test "later" do assert_true(Atk::Version.or_later?(Atk::Version::MAJOR, Atk::Version::MINOR - 1, Atk::Version::MICRO)) end test "earlier" do assert_false(Atk::Version.or_later?(Atk::Version::MAJOR, Atk::Version::MINOR + 1, Atk::Version::MICRO)) end end end ruby-gnome-ruby-gnome-c1ffe87/cairo-gobject/000077500000000000000000000000001460266665500211155ustar00rootroot00000000000000ruby-gnome-ruby-gnome-c1ffe87/cairo-gobject/COPYING.LIB000066400000000000000000000636421460266665500225700ustar00rootroot00000000000000 GNU LESSER GENERAL PUBLIC LICENSE Version 2.1, February 1999 Copyright (C) 1991, 1999 Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 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 Lesser GPL. It also counts as the successor of the GNU Library Public License, version 2, hence the version number 2.1.] 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 Lesser General Public License, applies to some specially designated software packages--typically libraries--of the Free Software Foundation and other authors who decide to use it. You can use it too, but we suggest you first think carefully about whether this license or the ordinary General Public License is the better strategy to use in any particular case, based on the explanations below. When we speak of free software, we are referring to freedom of use, 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 and use pieces of it in new free programs; and that you are informed that you can do these things. To protect your rights, we need to make restrictions that forbid distributors to deny you these rights or to ask you to surrender these 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 other code 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. We protect your rights with a two-step method: (1) we copyright the library, and (2) we offer you this license, which gives you legal permission to copy, distribute and/or modify the library. To protect each distributor, we want to make it very clear that there is no warranty for the free library. Also, if the library is modified by someone else and passed on, the recipients should know that what they have is not the original version, so that the original author's reputation will not be affected by problems that might be introduced by others. Finally, software patents pose a constant threat to the existence of any free program. We wish to make sure that a company cannot effectively restrict the users of a free program by obtaining a restrictive license from a patent holder. Therefore, we insist that any patent license obtained for a version of the library must be consistent with the full freedom of use specified in this license. Most GNU software, including some libraries, is covered by the ordinary GNU General Public License. This license, the GNU Lesser General Public License, applies to certain designated libraries, and is quite different from the ordinary General Public License. We use this license for certain libraries in order to permit linking those libraries into non-free programs. When a program is linked with a library, whether statically or using a shared library, the combination of the two is legally speaking a combined work, a derivative of the original library. The ordinary General Public License therefore permits such linking only if the entire combination fits its criteria of freedom. The Lesser General Public License permits more lax criteria for linking other code with the library. We call this license the "Lesser" General Public License because it does Less to protect the user's freedom than the ordinary General Public License. It also provides other free software developers Less of an advantage over competing non-free programs. These disadvantages are the reason we use the ordinary General Public License for many libraries. However, the Lesser license provides advantages in certain special circumstances. For example, on rare occasions, there may be a special need to encourage the widest possible use of a certain library, so that it becomes a de-facto standard. To achieve this, non-free programs must be allowed to use the library. A more frequent case is that a free library does the same job as widely used non-free libraries. In this case, there is little to gain by limiting the free library to free software only, so we use the Lesser General Public License. In other cases, permission to use a particular library in non-free programs enables a greater number of people to use a large body of free software. For example, permission to use the GNU C Library in non-free programs enables many more people to use the whole GNU operating system, as well as its variant, the GNU/Linux operating system. Although the Lesser General Public License is Less protective of the users' freedom, it does ensure that the user of a program that is linked with the Library has the freedom and the wherewithal to run that program using a modified version of the Library. 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, whereas the latter must be combined with the library in order to run. GNU LESSER GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License Agreement applies to any software library or other program which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Lesser 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 combine 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) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (1) uses at run time a copy of the library already present on the user's computer system, rather than copying library functions into the executable, and (2) will operate properly with a modified version of the library, if the user installs one, as long as the modified version is interface-compatible with the version that the work was made with. c) 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. d) 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. e) 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 materials to be 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 with 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 Lesser 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. Copyright (C) This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 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 Lesser General Public License for more details. You should have received a copy of the GNU Lesser 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 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. , 1 April 1990 Ty Coon, President of Vice That's all there is to it! ruby-gnome-ruby-gnome-c1ffe87/cairo-gobject/README.md000066400000000000000000000010451460266665500223740ustar00rootroot00000000000000# Ruby/CairoGObject Ruby/CairoGObject is a Ruby binding of cairo-gobject. ## Requirements * Ruby/GLib2 in [Ruby-GNOME2](https://ruby-gnome2.osdn.jp/) * [rcairo](https://github.com/rcairo/rcairo) * [cairo](http://cairographics.org/) GObject binding ## Install gem install cairo-gobject ## License Copyright (c) 2012-2013 Ruby-GNOME2 Project Team This program is free software. You can distribute/modify this program under the terms of the GNU LESSER GENERAL PUBLIC LICENSE Version 2.1. ## Project Website https://ruby-gnome2.osdn.jp/ ruby-gnome-ruby-gnome-c1ffe87/cairo-gobject/Rakefile000066400000000000000000000022561460266665500225670ustar00rootroot00000000000000# -*- ruby -*- # # Copyright (C) 2012-2018 Ruby-GNOME2 Project Team # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser 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 $LOAD_PATH.unshift("./../glib2/lib") require "gnome2/rake/package-task" package_name = File.basename(__dir__) spec = Gem::Specification.load("#{package_name}.gemspec") GNOME2::Rake::PackageTask.define(spec, __dir__) do |package| package.windows.packages = [] package.windows.dependencies = [] package.windows.build_dependencies = ["cairo", "glib2"] package.windows.build_packages = [] end ruby-gnome-ruby-gnome-c1ffe87/cairo-gobject/cairo-gobject.gemspec000066400000000000000000000032601460266665500251730ustar00rootroot00000000000000# -*- ruby -*- # # Copyright (C) 2018 Ruby-GNOME Project Team # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser 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 require_relative "../glib2/version" Gem::Specification.new do |s| s.name = "cairo-gobject" s.summary = "Ruby/CairoGObject is a Ruby binding of cairo-gobject." s.description = "Ruby/CairoGObject is a Ruby binding of cairo-gobject." s.author = "The Ruby-GNOME Project Team" s.email = "ruby-gnome2-devel-en@lists.sourceforge.net" s.homepage = "https://ruby-gnome2.osdn.jp/" s.licenses = ["LGPL-2.1+"] s.version = ruby_glib2_version s.extensions = ["ext/#{s.name}/extconf.rb"] s.require_paths = ["lib"] s.files = [ "COPYING.LIB", "README.md", "Rakefile", "#{s.name}.gemspec", "extconf.rb", ] s.files += Dir.glob("lib/**/*.rb") s.files += Dir.glob("ext/#{s.name}/*.{c,h,def,rb}") s.files += Dir.glob("test/**/*") s.add_runtime_dependency("cairo", ">= 1.16.2") s.add_runtime_dependency("glib2", "= #{s.version}") end ruby-gnome-ruby-gnome-c1ffe87/cairo-gobject/ext/000077500000000000000000000000001460266665500217155ustar00rootroot00000000000000ruby-gnome-ruby-gnome-c1ffe87/cairo-gobject/ext/cairo-gobject/000077500000000000000000000000001460266665500244255ustar00rootroot00000000000000ruby-gnome-ruby-gnome-c1ffe87/cairo-gobject/ext/cairo-gobject/extconf.rb000077500000000000000000000066701460266665500264340ustar00rootroot00000000000000#!/usr/bin/env ruby # # Copyright (C) 2013-2023 Ruby-GNOME Project Team # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser 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 require "pathname" source_dir = Pathname(__FILE__).dirname base_dir = source_dir.parent.parent.expand_path top_dir = base_dir.parent.expand_path top_build_dir = Pathname(".").parent.parent.parent.expand_path mkmf_gnome2_dir = top_dir + "glib2" + "lib" $LOAD_PATH.unshift(mkmf_gnome2_dir.to_s) if mkmf_gnome2_dir.exist? module_name = "cairo_gobject" package_id = "cairo-gobject" require "mkmf-gnome" ["glib2"].each do |package| add_depend_package(package, "#{package}/ext/#{package}", top_dir.to_s, top_build_dir: top_build_dir.to_s) end unless required_pkg_config_package(package_id, :alt_linux => "libcairo-devel", :conda => "cairo", :debian => "libcairo2-dev", :redhat => "pkgconfig(#{package_id})", :arch_linux => "cairo", :homebrew => "cairo") exit(false) end unless check_cairo(:top_dir => top_dir) exit(false) end create_pkg_config_file("Ruby/CairoGObject", package_id, ruby_gnome_version, "ruby-cairo-gobject.pc") ensure_objs $defs << "-DRUBY_CAIRO_GOBJECT_COMPILATION" case RUBY_PLATFORM when /darwin/ symbols_in_external_bundles = [ "_rb_cCairo_Context", "_rb_cCairo_Device", "_rb_cCairo_FontFace", "_rb_cCairo_FontOptions", "_rb_cCairo_Pattern", "_rb_cCairo_Region", "_rb_cCairo_ScaledFont", "_rb_cCairo_Surface", "_rb_cairo_context_from_ruby_object", "_rb_cairo_context_to_ruby_object", "_rb_cairo_device_from_ruby_object", "_rb_cairo_device_to_ruby_object", "_rb_cairo_font_face_from_ruby_object", "_rb_cairo_font_face_to_ruby_object", "_rb_cairo_font_options_from_ruby_object", "_rb_cairo_font_options_to_ruby_object", "_rb_cairo_pattern_from_ruby_object", "_rb_cairo_pattern_to_ruby_object", "_rb_cairo_region_from_ruby_object", "_rb_cairo_region_to_ruby_object", "_rb_cairo_scaled_font_from_ruby_object", "_rb_cairo_scaled_font_to_ruby_object", "_rb_cairo_surface_from_ruby_object", "_rb_cairo_surface_to_ruby_object", "_rbgobj_convert_define", "_rbgobj_define_class", "_rbgobj_gtype_new", "_rbgobj_make_boxed", ] symbols_in_external_bundles.each do |symbol| $DLDFLAGS << " -Wl,-U,#{symbol}" end end create_makefile(module_name) pkg_config_dir = with_config("pkg-config-dir") if pkg_config_dir.is_a?(String) File.open("Makefile", "ab") do |makefile| makefile.puts makefile.puts("pkgconfigdir=#{pkg_config_dir}") end end ruby-gnome-ruby-gnome-c1ffe87/cairo-gobject/ext/cairo-gobject/rb-cairo-gobject.c000066400000000000000000000237231460266665500277110ustar00rootroot00000000000000/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */ /* * Copyright (C) 2013-2019 Ruby-GNOME Project Team * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser 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 "rb-cairo-gobject.h" #define RG_TARGET_NAMESPACE rb_mCairoGObject static VALUE RG_TARGET_NAMESPACE; #define DEFINE_CONVERSION(prefix, \ gtype, \ ClassName, \ rb_klass, \ RVAL2CR, \ CR2RVAL) \ static gpointer \ prefix ## _robj2instance(VALUE rb_object, \ G_GNUC_UNUSED gpointer user_data) \ { \ return RVAL2CR(rb_object); \ } \ \ static VALUE \ prefix ## _instance2robj(gpointer cr_object, \ G_GNUC_UNUSED gpointer user_data) \ { \ return CR2RVAL(cr_object); \ } \ \ static VALUE \ prefix ## _s_gtype(G_GNUC_UNUSED VALUE klass) \ { \ return rbgobj_gtype_new(gtype); \ } \ \ static VALUE \ rg_ ## prefix ## _s_try_convert(VALUE klass, VALUE value) \ { \ if (RTEST(rb_obj_is_kind_of(value, klass))) { \ return value; \ } else { \ gpointer raw_object = RVAL2CR(value); \ return BOXED2RVAL(raw_object, gtype); \ } \ } \ \ static void \ define_ ## prefix ## _conversion(void) \ { \ RGConvertTable table; \ VALUE rg_klass; \ \ memset(&table, 0, sizeof(RGConvertTable)); \ table.type = gtype; \ table.klass = rb_klass; \ table.robj2instance = prefix ## _robj2instance; \ table.instance2robj = prefix ## _instance2robj; \ \ RG_DEF_CONVERSION(&table); \ \ rb_define_singleton_method(rb_klass, \ "gtype", \ prefix ## _s_gtype, \ 0); \ \ rg_klass = G_DEF_CLASS(gtype, ClassName, RG_TARGET_NAMESPACE); \ rb_define_singleton_method(rg_klass, \ "try_convert", \ rg_ ## prefix ## _s_try_convert, \ 1); \ } DEFINE_CONVERSION(context, CAIRO_GOBJECT_TYPE_CONTEXT, "Context", rb_cCairo_Context, RVAL2CRCONTEXT, CRCONTEXT2RVAL) DEFINE_CONVERSION(device, CAIRO_GOBJECT_TYPE_DEVICE, "Device", rb_cCairo_Device, RVAL2CRDEVICE, CRDEVICE2RVAL) DEFINE_CONVERSION(pattern, CAIRO_GOBJECT_TYPE_PATTERN, "Pattern", rb_cCairo_Pattern, RVAL2CRPATTERN, CRPATTERN2RVAL) DEFINE_CONVERSION(surface, CAIRO_GOBJECT_TYPE_SURFACE, "Surface", rb_cCairo_Surface, RVAL2CRSURFACE, CRSURFACE2RVAL) DEFINE_CONVERSION(scaled_font, CAIRO_GOBJECT_TYPE_SCALED_FONT, "ScaledFont", rb_cCairo_ScaledFont, RVAL2CRSCALEDFONT, CRSCALEDFONT2RVAL) DEFINE_CONVERSION(font_face, CAIRO_GOBJECT_TYPE_FONT_FACE, "FontFace", rb_cCairo_FontFace, RVAL2CRFONTFACE, CRFONTFACE2RVAL) DEFINE_CONVERSION(font_options, CAIRO_GOBJECT_TYPE_FONT_OPTIONS, "FontOptions", rb_cCairo_FontOptions, RVAL2CRFONTOPTIONS, CRFONTOPTIONS2RVAL) DEFINE_CONVERSION(region, CAIRO_GOBJECT_TYPE_REGION, "Region", rb_cCairo_Region, RVAL2CRREGION, CRREGION2RVAL) void Init_cairo_gobject(void) { RG_TARGET_NAMESPACE = rb_define_module("CairoGObject"); rb_define_const(RG_TARGET_NAMESPACE, "BUILD_VERSION", rb_ary_new3(3, INT2FIX(CAIRO_VERSION_MAJOR), INT2FIX(CAIRO_VERSION_MINOR), INT2FIX(CAIRO_VERSION_MICRO))); define_context_conversion(); define_device_conversion(); define_pattern_conversion(); define_surface_conversion(); define_scaled_font_conversion(); define_font_face_conversion(); define_font_options_conversion(); define_region_conversion(); G_DEF_CLASS(CAIRO_GOBJECT_TYPE_STATUS, "Status", RG_TARGET_NAMESPACE); G_DEF_CLASS(CAIRO_GOBJECT_TYPE_CONTENT, "Content", RG_TARGET_NAMESPACE); G_DEF_CLASS(CAIRO_GOBJECT_TYPE_OPERATOR, "Operator", RG_TARGET_NAMESPACE); G_DEF_CLASS(CAIRO_GOBJECT_TYPE_ANTIALIAS, "Antialias", RG_TARGET_NAMESPACE); G_DEF_CLASS(CAIRO_GOBJECT_TYPE_FILL_RULE, "FillRule", RG_TARGET_NAMESPACE); G_DEF_CLASS(CAIRO_GOBJECT_TYPE_LINE_CAP, "LineCap", RG_TARGET_NAMESPACE); G_DEF_CLASS(CAIRO_GOBJECT_TYPE_LINE_JOIN, "LineJoin", RG_TARGET_NAMESPACE); G_DEF_CLASS(CAIRO_GOBJECT_TYPE_TEXT_CLUSTER_FLAGS, "TextClusterFlags", RG_TARGET_NAMESPACE); G_DEF_CLASS(CAIRO_GOBJECT_TYPE_FONT_SLANT, "FontSlant", RG_TARGET_NAMESPACE); G_DEF_CLASS(CAIRO_GOBJECT_TYPE_FONT_WEIGHT, "FontWeight", RG_TARGET_NAMESPACE); G_DEF_CLASS(CAIRO_GOBJECT_TYPE_SUBPIXEL_ORDER, "SubpixelOrder", RG_TARGET_NAMESPACE); G_DEF_CLASS(CAIRO_GOBJECT_TYPE_HINT_STYLE, "HintStyle", RG_TARGET_NAMESPACE); G_DEF_CLASS(CAIRO_GOBJECT_TYPE_HINT_METRICS, "HintMetrics", RG_TARGET_NAMESPACE); G_DEF_CLASS(CAIRO_GOBJECT_TYPE_FONT_TYPE, "FontType", RG_TARGET_NAMESPACE); G_DEF_CLASS(CAIRO_GOBJECT_TYPE_PATH_DATA_TYPE, "PathDataType", RG_TARGET_NAMESPACE); G_DEF_CLASS(CAIRO_GOBJECT_TYPE_DEVICE_TYPE, "DeviceType", RG_TARGET_NAMESPACE); G_DEF_CLASS(CAIRO_GOBJECT_TYPE_SURFACE_TYPE, "SurfaceType", RG_TARGET_NAMESPACE); G_DEF_CLASS(CAIRO_GOBJECT_TYPE_FORMAT, "Format", RG_TARGET_NAMESPACE); G_DEF_CLASS(CAIRO_GOBJECT_TYPE_PATTERN_TYPE, "PatternType", RG_TARGET_NAMESPACE); G_DEF_CLASS(CAIRO_GOBJECT_TYPE_EXTEND, "Extend", RG_TARGET_NAMESPACE); G_DEF_CLASS(CAIRO_GOBJECT_TYPE_FILTER, "Filter", RG_TARGET_NAMESPACE); G_DEF_CLASS(CAIRO_GOBJECT_TYPE_REGION_OVERLAP, "RegionOverlap", RG_TARGET_NAMESPACE); } ruby-gnome-ruby-gnome-c1ffe87/cairo-gobject/ext/cairo-gobject/rb-cairo-gobject.h000066400000000000000000000025251460266665500277130ustar00rootroot00000000000000/* -*- c-file-style: "ruby"; indent-tabs-mode: nil -*- */ /* * Copyright (C) 2013 Ruby-GNOME2 Project Team * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser 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 RB_CAIRO_GOBJECT_H #define RB_CAIRO_GOBJECT_H #include #include #include #include #ifndef CAIRO_GOBJECT_TYPE_HINT_METRICS # define CAIRO_GOBJECT_TYPE_HINT_METRICS CAIRO_GOBJECT_TYPE_HNT_METRICS #endif #ifndef CAIRO_GOBJECT_TYPE_TEXT_CLUSTER_FLAGS # define CAIRO_GOBJECT_TYPE_TEXT_CLUSTER_FLAGS cairo_gobject_text_cluster_flags_get_type () #endif #include extern void Init_cairo_gobject(void); #endif ruby-gnome-ruby-gnome-c1ffe87/cairo-gobject/extconf.rb000077500000000000000000000040271460266665500231160ustar00rootroot00000000000000#!/usr/bin/env ruby # # Copyright (C) 2013 Ruby-GNOME2 Project Team # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser 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 require "pathname" require "mkmf" require "rbconfig" require "fileutils" module_name = "cairo_gobject" package = "cairo-gobject" base_dir = Pathname(__FILE__).dirname.expand_path ext_dir = base_dir + "ext" + package mkmf_gnome2_dir = base_dir + 'lib' if RbConfig.respond_to?(:ruby) ruby = RbConfig.ruby else ruby = File.join(RbConfig::CONFIG['bindir'], RbConfig::CONFIG['ruby_install_name'] + RbConfig::CONFIG["EXEEXT"]) end build_dir = Pathname("ext") + package FileUtils.mkdir_p(build_dir.to_s) unless build_dir.exist? extconf_rb_path = ext_dir + "extconf.rb" unless system(ruby, "-C", build_dir.to_s, extconf_rb_path.to_s, *ARGV) exit(false) end create_makefile(module_name) FileUtils.mv("Makefile", "Makefile.lib") File.open("Makefile", "w") do |makefile| makefile.puts(<<-EOM) all: (cd ext/#{package} && $(MAKE)) $(MAKE) -f Makefile.lib install: (cd ext/#{package} && $(MAKE) install) $(MAKE) -f Makefile.lib install site-install: (cd ext/#{package} && $(MAKE) site-install) $(MAKE) -f Makefile.lib site-install clean: (cd ext/#{package} && $(MAKE) clean) $(MAKE) -f Makefile.lib clean distclean: (cd ext/#{package} && $(MAKE) distclean) $(MAKE) -f Makefile.lib distclean @rm -f Makefile.lib EOM end ruby-gnome-ruby-gnome-c1ffe87/cairo-gobject/lib/000077500000000000000000000000001460266665500216635ustar00rootroot00000000000000ruby-gnome-ruby-gnome-c1ffe87/cairo-gobject/lib/cairo-gobject.rb000066400000000000000000000016511460266665500247230ustar00rootroot00000000000000# Copyright (C) 2013-2018 Ruby-GNOME2 Project Team # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser 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 require "cairo" require "glib2" require "cairo_gobject.so" module CairoGObject LOG_DOMAIN = "CairoGObject" GLib::Log.set_log_domain(LOG_DOMAIN) end ruby-gnome-ruby-gnome-c1ffe87/cairo-gobject/test/000077500000000000000000000000001460266665500220745ustar00rootroot00000000000000ruby-gnome-ruby-gnome-c1ffe87/cairo-gobject/test/cairo-gobject-test-utils.rb000066400000000000000000000015101460266665500272410ustar00rootroot00000000000000# Copyright (C) 2013-2021 Ruby-GNOME Project Team # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser 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 require "cairo-gobject" module CairoGObjectTestUtils end ruby-gnome-ruby-gnome-c1ffe87/cairo-gobject/test/run-test.rb000077500000000000000000000021331460266665500242040ustar00rootroot00000000000000#!/usr/bin/env ruby # # Copyright (C) 2013-2021 Ruby-GNOME Project Team # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser 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 require_relative "../../glib2/test/run-test" run_test(__dir__, [ "glib2", "gobject-introspection", "cairo-gobject", ]) do require_relative "../../gobject-introspection/test/gobject-introspection-test-utils" require_relative "cairo-gobject-test-utils" end ruby-gnome-ruby-gnome-c1ffe87/cairo-gobject/test/test_cairoantialias.rb000066400000000000000000000017101460266665500264420ustar00rootroot00000000000000# Copyright (C) 2013 Ruby-GNOME2 Project Team # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser 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 class TestCaitoAntialias < Test::Unit::TestCase def test_cairo_antialias assert_nothing_raised do CairoGObject::Antialias.new(CairoGObject::Antialias::DEFAULT) end end end ruby-gnome-ruby-gnome-c1ffe87/cairo-gobject/test/test_cairocontent.rb000066400000000000000000000016761460266665500261620ustar00rootroot00000000000000# Copyright (C) 2013 Ruby-GNOME2 Project Team # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser 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 class TestCairoContent < Test::Unit::TestCase def test_cairo_content assert_nothing_raised do CairoGObject::Content.new(CairoGObject::Content::COLOR) end end end ruby-gnome-ruby-gnome-c1ffe87/cairo-gobject/test/test_cairocontext.rb000066400000000000000000000017531460266665500261700ustar00rootroot00000000000000# Copyright (C) 2013 Ruby-GNOME2 Project Team # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser 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 class TestCairoContext < Test::Unit::TestCase def test_cairo_context assert_nothing_raised do surface = Cairo::ImageSurface.new(Cairo::Format::ARGB32, 290, 200) Cairo::Context.new(surface) end end end ruby-gnome-ruby-gnome-c1ffe87/cairo-gobject/test/test_cairodevicetype.rb000066400000000000000000000017101460266665500266360ustar00rootroot00000000000000# Copyright (C) 2013 Ruby-GNOME2 Project Team # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser 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 class TestCairoDeviceType < Test::Unit::TestCase def test_cairo_device_type assert_nothing_raised do CairoGObject::DeviceType.new(CairoGObject::DeviceType::GL) end end end ruby-gnome-ruby-gnome-c1ffe87/cairo-gobject/test/test_cairoextend.rb000066400000000000000000000016731460266665500257740ustar00rootroot00000000000000# Copyright (C) 2013 Ruby-GNOME2 Project Team # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser 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 class TestCairoExtend < Test::Unit::TestCase def test_cairo_extend assert_nothing_raised do CairoGObject::Extend.new(CairoGObject::Extend::REPEAT) end end end ruby-gnome-ruby-gnome-c1ffe87/cairo-gobject/test/test_cairofillrule.rb000066400000000000000000000017051460266665500263170ustar00rootroot00000000000000# Copyright (C) 2013 Ruby-GNOME2 Project Team # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser 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 class TestCairoFullRule < Test::Unit::TestCase def test_cairo_fill_rule assert_nothing_raised do CairoGObject::FillRule.new(CairoGObject::FillRule::WINDING) end end end ruby-gnome-ruby-gnome-c1ffe87/cairo-gobject/test/test_cairofilter.rb000066400000000000000000000016661460266665500257740ustar00rootroot00000000000000# Copyright (C) 2013 Ruby-GNOME2 Project Team # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser 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 class TestCairoFilter < Test::Unit::TestCase def test_cairo_filter assert_nothing_raised do CairoGObject::Filter.new(Cairo::Filter::GAUSSIAN) end end end ruby-gnome-ruby-gnome-c1ffe87/cairo-gobject/test/test_cairofontslant.rb000066400000000000000000000017011460266665500265050ustar00rootroot00000000000000# Copyright (C) 2013 Ruby-GNOME2 Project Team # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser 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 class TestCairoFontSlant < Test::Unit::TestCase def test_cairo_font_slant assert_nothing_raised do CairoGObject::FontSlant.new(Cairo::FontSlant::NORMAL) end end end ruby-gnome-ruby-gnome-c1ffe87/cairo-gobject/test/test_cairofonttype.rb000066400000000000000000000017001460266665500263440ustar00rootroot00000000000000# Copyright (C) 2013 Ruby-GNOME2 Project Team # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser 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 class TestCairoFontType < Test::Unit::TestCase def test_caito_font_type assert_nothing_raised do CairoGObject::FontType.new(CairoGObject::FontType::FT) end end end ruby-gnome-ruby-gnome-c1ffe87/cairo-gobject/test/test_cairofontweight.rb000066400000000000000000000017031460266665500266550ustar00rootroot00000000000000# Copyright (C) 2013 Ruby-GNOME2 Project Team # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser 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 class TestCaitoFontWeight < Test::Unit::TestCase def test_cairo_font_weight assert_nothing_raised do CairoGObject::FontWeight.new(Cairo::FontWeight::BOLD) end end end ruby-gnome-ruby-gnome-c1ffe87/cairo-gobject/test/test_cairoformat.rb000066400000000000000000000016631460266665500257740ustar00rootroot00000000000000# Copyright (C) 2013 Ruby-GNOME2 Project Team # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser 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 class TestCairoFormat < Test::Unit::TestCase def test_cairo_format assert_nothing_raised do CairoGObject::Format.new(Cairo::Format::RGB24) end end end ruby-gnome-ruby-gnome-c1ffe87/cairo-gobject/test/test_cairohintmetrics.rb000066400000000000000000000017051460266665500270320ustar00rootroot00000000000000# Copyright (C) 2013 Ruby-GNOME2 Project Team # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser 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 class TestCairoHintMetrics < Test::Unit::TestCase def test_cairo_hint_metrics assert_nothing_raised do CairoGObject::HintMetrics.new(Cairo::HintMetrics::ON) end end end ruby-gnome-ruby-gnome-c1ffe87/cairo-gobject/test/test_cairohintstyle.rb000066400000000000000000000017001460266665500265170ustar00rootroot00000000000000# Copyright (C) 2013 Ruby-GNOME2 Project Team # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser 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 class TestCairoHintStyle < Test::Unit::TestCase def test_cairo_hintstyle assert_nothing_raised do CairoGObject::HintStyle.new(Cairo::HintStyle::MEDIUM) end end end ruby-gnome-ruby-gnome-c1ffe87/cairo-gobject/test/test_cairoimagesurface.rb000066400000000000000000000017121460266665500271320ustar00rootroot00000000000000# Copyright (C) 2013 Ruby-GNOME2 Project Team # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser 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 class TestCairoImageSurface < Test::Unit::TestCase def test_cairo_image_surface assert_nothing_raised do Cairo::ImageSurface.new(Cairo::Format::ARGB32, 290, 200) end end end ruby-gnome-ruby-gnome-c1ffe87/cairo-gobject/test/test_cairolinecap.rb000066400000000000000000000016621460266665500261160ustar00rootroot00000000000000# Copyright (C) 2013 Ruby-GNOME2 Project Team # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser 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 class TestLineCap < Test::Unit::TestCase def test_cairo_linecap assert_nothing_raised do CairoGObject::LineCap.new(Cairo::LineCap::ROUND) end end end ruby-gnome-ruby-gnome-c1ffe87/cairo-gobject/test/test_cairolinejoin.rb000066400000000000000000000016731460266665500263140ustar00rootroot00000000000000# Copyright (C) 2013 Ruby-GNOME2 Project Team # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser 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 class TestCairoLineJoin < Test::Unit::TestCase def test_cairo_linejoin assert_nothing_raised do CairoGObject::LineJoin.new(Cairo::LineJoin::ROUND) end end end ruby-gnome-ruby-gnome-c1ffe87/cairo-gobject/test/test_cairooperator.rb000066400000000000000000000016721460266665500263370ustar00rootroot00000000000000# Copyright (C) 2013 Ruby-GNOME2 Project Team # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser 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 class TestCairoOperator < Test::Unit::TestCase def test_cairo_operator assert_nothing_raised do CairoGObject::Operator.new(Cairo::Operator::OVER) end end end ruby-gnome-ruby-gnome-c1ffe87/cairo-gobject/test/test_cairopathdatatype.rb000066400000000000000000000017171460266665500271740ustar00rootroot00000000000000# Copyright (C) 2013 Ruby-GNOME2 Project Team # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser 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 class TestCairoPathDataType < Test::Unit::TestCase def test_cairo_path_data_type assert_nothing_raised do CairoGObject::PathDataType.new(Cairo::PathDataType::LINE_TO) end end end ruby-gnome-ruby-gnome-c1ffe87/cairo-gobject/test/test_cairopatterntype.rb000066400000000000000000000017201460266665500270550ustar00rootroot00000000000000# Copyright (C) 2013 Ruby-GNOME2 Project Team # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser 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 class TestCairoPatternType < Test::Unit::TestCase def test_caito_pattern_type assert_nothing_raised do CairoGObject::PatternType.new(CairoGObject::PatternType::LINEAR) end end end ruby-gnome-ruby-gnome-c1ffe87/cairo-gobject/test/test_cairoregion.rb000066400000000000000000000016261460266665500257660ustar00rootroot00000000000000# Copyright (C) 2013 Ruby-GNOME2 Project Team # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser 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 class TestCairoRegion < Test::Unit::TestCase def test_cairo_region assert_nothing_raised do Cairo::Region.new end end end ruby-gnome-ruby-gnome-c1ffe87/cairo-gobject/test/test_cairoregionoverlap.rb000066400000000000000000000017161460266665500273570ustar00rootroot00000000000000# Copyright (C) 2013 Ruby-GNOME2 Project Team # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser 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 class TestCairoRegionOverlap < Test::Unit::TestCase def test_cairo_regin_overlap assert_nothing_raised do CairoGObject::RegionOverlap.new(Cairo::RegionOverlap::PART) end end end ruby-gnome-ruby-gnome-c1ffe87/cairo-gobject/test/test_cairoscaledfont.rb000066400000000000000000000023711460266665500266230ustar00rootroot00000000000000# Copyright (C) 2013 Ruby-GNOME2 Project Team # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser 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 class TestCairoScaledFont < Test::Unit::TestCase def setup surface = Cairo::ImageSurface.new(Cairo::Format::ARGB32, 290, 200) context = Cairo::Context.new(surface) @font_face = context.font_face @font_matrix = Cairo::Matrix.identity @scale = Cairo::Matrix.scale(0.5, 1.0) @font_option = Cairo::FontOptions.new end def test_cairo_scaled_font assert_nothing_raised do Cairo::ScaledFont.new(@font_face, @font_matrix, @scale, @font_option) end end end ruby-gnome-ruby-gnome-c1ffe87/cairo-gobject/test/test_cairostatus.rb000066400000000000000000000016741460266665500260310ustar00rootroot00000000000000# Copyright (C) 2013 Ruby-GNOME2 Project Team # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser 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 class TestCairoStatus < Test::Unit::TestCase def test_cairo_status assert_nothing_raised do CairoGObject::Status.new(CairoGObject::Status::SUCCESS) end end end ruby-gnome-ruby-gnome-c1ffe87/cairo-gobject/test/test_cairosubpixelorder.rb000066400000000000000000000017221460266665500273670ustar00rootroot00000000000000# Copyright (C) 2013 Ruby-GNOME2 Project Team # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser 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 class TestCairoSubpixelOrder < Test::Unit::TestCase def test_cairo_subpixel_order assert_nothing_raised do CairoGObject::SubpixelOrder.new(Cairo::SubpixelOrder::DEFAULT) end end end ruby-gnome-ruby-gnome-c1ffe87/cairo-gobject/test/test_cairosurfacetype.rb000066400000000000000000000017171460266665500270360ustar00rootroot00000000000000# Copyright (C) 2013 Ruby-GNOME2 Project Team # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser 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 class TestCairoSurfaceType < Test::Unit::TestCase def test_cairo_surface_type assert_nothing_raised do CairoGObject::SurfaceType.new(CairoGObject::SurfaceType::IMAGE) end end end ruby-gnome-ruby-gnome-c1ffe87/cairo-gobject/test/test_cairotextclusterflags.rb000066400000000000000000000017471460266665500301120ustar00rootroot00000000000000# Copyright (C) 2013 Ruby-GNOME2 Project Team # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser 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 class TestCairoTextClusterFlags < Test::Unit::TestCase def test_cairo_text_clutter_flags assert_nothing_raised do CairoGObject::TextClusterFlags.new(CairoGObject::TextClusterFlags::BACKWARD) end end end ruby-gnome-ruby-gnome-c1ffe87/clutter-gdk/000077500000000000000000000000001460266665500206325ustar00rootroot00000000000000ruby-gnome-ruby-gnome-c1ffe87/clutter-gdk/COPYING.LIB000066400000000000000000000636421460266665500223050ustar00rootroot00000000000000 GNU LESSER GENERAL PUBLIC LICENSE Version 2.1, February 1999 Copyright (C) 1991, 1999 Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 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 Lesser GPL. It also counts as the successor of the GNU Library Public License, version 2, hence the version number 2.1.] 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 Lesser General Public License, applies to some specially designated software packages--typically libraries--of the Free Software Foundation and other authors who decide to use it. You can use it too, but we suggest you first think carefully about whether this license or the ordinary General Public License is the better strategy to use in any particular case, based on the explanations below. When we speak of free software, we are referring to freedom of use, 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 and use pieces of it in new free programs; and that you are informed that you can do these things. To protect your rights, we need to make restrictions that forbid distributors to deny you these rights or to ask you to surrender these 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 other code 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. We protect your rights with a two-step method: (1) we copyright the library, and (2) we offer you this license, which gives you legal permission to copy, distribute and/or modify the library. To protect each distributor, we want to make it very clear that there is no warranty for the free library. Also, if the library is modified by someone else and passed on, the recipients should know that what they have is not the original version, so that the original author's reputation will not be affected by problems that might be introduced by others. Finally, software patents pose a constant threat to the existence of any free program. We wish to make sure that a company cannot effectively restrict the users of a free program by obtaining a restrictive license from a patent holder. Therefore, we insist that any patent license obtained for a version of the library must be consistent with the full freedom of use specified in this license. Most GNU software, including some libraries, is covered by the ordinary GNU General Public License. This license, the GNU Lesser General Public License, applies to certain designated libraries, and is quite different from the ordinary General Public License. We use this license for certain libraries in order to permit linking those libraries into non-free programs. When a program is linked with a library, whether statically or using a shared library, the combination of the two is legally speaking a combined work, a derivative of the original library. The ordinary General Public License therefore permits such linking only if the entire combination fits its criteria of freedom. The Lesser General Public License permits more lax criteria for linking other code with the library. We call this license the "Lesser" General Public License because it does Less to protect the user's freedom than the ordinary General Public License. It also provides other free software developers Less of an advantage over competing non-free programs. These disadvantages are the reason we use the ordinary General Public License for many libraries. However, the Lesser license provides advantages in certain special circumstances. For example, on rare occasions, there may be a special need to encourage the widest possible use of a certain library, so that it becomes a de-facto standard. To achieve this, non-free programs must be allowed to use the library. A more frequent case is that a free library does the same job as widely used non-free libraries. In this case, there is little to gain by limiting the free library to free software only, so we use the Lesser General Public License. In other cases, permission to use a particular library in non-free programs enables a greater number of people to use a large body of free software. For example, permission to use the GNU C Library in non-free programs enables many more people to use the whole GNU operating system, as well as its variant, the GNU/Linux operating system. Although the Lesser General Public License is Less protective of the users' freedom, it does ensure that the user of a program that is linked with the Library has the freedom and the wherewithal to run that program using a modified version of the Library. 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, whereas the latter must be combined with the library in order to run. GNU LESSER GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License Agreement applies to any software library or other program which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Lesser 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 combine 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) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (1) uses at run time a copy of the library already present on the user's computer system, rather than copying library functions into the executable, and (2) will operate properly with a modified version of the library, if the user installs one, as long as the modified version is interface-compatible with the version that the work was made with. c) 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. d) 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. e) 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 materials to be 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 with 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 Lesser 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. Copyright (C) This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 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 Lesser General Public License for more details. You should have received a copy of the GNU Lesser 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 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. , 1 April 1990 Ty Coon, President of Vice That's all there is to it! ruby-gnome-ruby-gnome-c1ffe87/clutter-gdk/README.md000066400000000000000000000012201460266665500221040ustar00rootroot00000000000000# Ruby/ClutterGDK Ruby/ClutterGDK is a Ruby binding of GDK specific API of Clutter. ## Requirements * Ruby/Clutter and Ruby/GTK3 in [Ruby-GNOME2](https://ruby-gnome2.osdn.jp/) * [Clutter-gdk](http://blogs.gnome.org/clutter/) ## Install gem install clutter-gdk ## License Copyright (c) 2016 Ruby-GNOME2 Project Team This program is free software. You can distribute/modify this program under the terms of the GNU LESSER GENERAL PUBLIC LICENSE Version 2.1. ### C API https://developer.gnome.org/clutter/stable/clutter-GDK-Specific-Support.html ## Project Websites * https://github.com/ruby-gnome/ruby-gnome * https://ruby-gnome2.osdn.jp/ ruby-gnome-ruby-gnome-c1ffe87/clutter-gdk/Rakefile000066400000000000000000000020131460266665500222730ustar00rootroot00000000000000# -*- ruby -*- # # Copyright (C) 2016-2018 Ruby-GNOME2 Project Team # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser 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 $LOAD_PATH.unshift("./../glib2/lib") require "gnome2/rake/package-task" package_name = File.basename(__dir__) spec = Gem::Specification.load("#{package_name}.gemspec") GNOME2::Rake::PackageTask.define(spec, __dir__) do |package| end ruby-gnome-ruby-gnome-c1ffe87/clutter-gdk/clutter-gdk.gemspec000066400000000000000000000031231460266665500244230ustar00rootroot00000000000000# -*- ruby -*- # # Copyright (C) 2018 Ruby-GNOME Project Team # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser 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 require_relative "../glib2/version" Gem::Specification.new do |s| s.name = "clutter-gdk" s.summary = "Ruby/ClutterGDK is a Ruby binding of GDK specific API of Clutter." s.description = "Ruby/ClutterGDK is a Ruby binding of GDK specific API of Clutter." s.author = "The Ruby-GNOME Project Team" s.email = "ruby-gnome2-devel-en@lists.sourceforge.net" s.homepage = "https://ruby-gnome2.osdn.jp/" s.licenses = ["LGPL-2.1+"] s.version = ruby_glib2_version s.require_paths = ["lib"] s.files = [ "COPYING.LIB", "README.md", "Rakefile", "#{s.name}.gemspec", ] s.files += Dir.glob("lib/**/*.rb") s.files += Dir.glob("test/**/*") s.add_runtime_dependency("clutter", "= #{s.version}") s.add_runtime_dependency("gdk3", "= #{s.version}") end ruby-gnome-ruby-gnome-c1ffe87/clutter-gdk/lib/000077500000000000000000000000001460266665500214005ustar00rootroot00000000000000ruby-gnome-ruby-gnome-c1ffe87/clutter-gdk/lib/clutter-gdk.rb000066400000000000000000000031111460266665500241460ustar00rootroot00000000000000# Copyright (C) 2016 Ruby-GNOME2 Project Team # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser 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 require "clutter" require "gdk3" module ClutterGdk loader = GObjectIntrospection::Loader.new(self) loader.load("ClutterGdk") end init_gdk = lambda do module Gdk class Window def clutter_stage ClutterGdk.get_stage_from_window(self) end end end end if Gdk.respond_to?(:init) Gdk.on_init do init_gdk.call end else init_gdk.call end init_clutter = lambda do Gdk.init if Gdk.respond_to?(:init) module Clutter class Stage def gdk_window ClutterGdk.get_stage_window(self) end def set_foreign_window(window) ClutterGdk.set_stage_foreign(self, window) end alias_method :foreign_window=, :set_foreign_window end end end if Clutter.respond_to?(:init) Clutter.on_init do init_clutter.call end else init_clutter.call end ruby-gnome-ruby-gnome-c1ffe87/clutter-gstreamer/000077500000000000000000000000001460266665500220565ustar00rootroot00000000000000ruby-gnome-ruby-gnome-c1ffe87/clutter-gstreamer/COPYING.LIB000066400000000000000000000636421460266665500235310ustar00rootroot00000000000000 GNU LESSER GENERAL PUBLIC LICENSE Version 2.1, February 1999 Copyright (C) 1991, 1999 Free Software Foundation, Inc. 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 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 Lesser GPL. It also counts as the successor of the GNU Library Public License, version 2, hence the version number 2.1.] 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 Lesser General Public License, applies to some specially designated software packages--typically libraries--of the Free Software Foundation and other authors who decide to use it. You can use it too, but we suggest you first think carefully about whether this license or the ordinary General Public License is the better strategy to use in any particular case, based on the explanations below. When we speak of free software, we are referring to freedom of use, 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 and use pieces of it in new free programs; and that you are informed that you can do these things. To protect your rights, we need to make restrictions that forbid distributors to deny you these rights or to ask you to surrender these 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 other code 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. We protect your rights with a two-step method: (1) we copyright the library, and (2) we offer you this license, which gives you legal permission to copy, distribute and/or modify the library. To protect each distributor, we want to make it very clear that there is no warranty for the free library. Also, if the library is modified by someone else and passed on, the recipients should know that what they have is not the original version, so that the original author's reputation will not be affected by problems that might be introduced by others. Finally, software patents pose a constant threat to the existence of any free program. We wish to make sure that a company cannot effectively restrict the users of a free program by obtaining a restrictive license from a patent holder. Therefore, we insist that any patent license obtained for a version of the library must be consistent with the full freedom of use specified in this license. Most GNU software, including some libraries, is covered by the ordinary GNU General Public License. This license, the GNU Lesser General Public License, applies to certain designated libraries, and is quite different from the ordinary General Public License. We use this license for certain libraries in order to permit linking those libraries into non-free programs. When a program is linked with a library, whether statically or using a shared library, the combination of the two is legally speaking a combined work, a derivative of the original library. The ordinary General Public License therefore permits such linking only if the entire combination fits its criteria of freedom. The Lesser General Public License permits more lax criteria for linking other code with the library. We call this license the "Lesser" General Public License because it does Less to protect the user's freedom than the ordinary General Public License. It also provides other free software developers Less of an advantage over competing non-free programs. These disadvantages are the reason we use the ordinary General Public License for many libraries. However, the Lesser license provides advantages in certain special circumstances. For example, on rare occasions, there may be a special need to encourage the widest possible use of a certain library, so that it becomes a de-facto standard. To achieve this, non-free programs must be allowed to use the library. A more frequent case is that a free library does the same job as widely used non-free libraries. In this case, there is little to gain by limiting the free library to free software only, so we use the Lesser General Public License. In other cases, permission to use a particular library in non-free programs enables a greater number of people to use a large body of free software. For example, permission to use the GNU C Library in non-free programs enables many more people to use the whole GNU operating system, as well as its variant, the GNU/Linux operating system. Although the Lesser General Public License is Less protective of the users' freedom, it does ensure that the user of a program that is linked with the Library has the freedom and the wherewithal to run that program using a modified version of the Library. 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, whereas the latter must be combined with the library in order to run. GNU LESSER GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License Agreement applies to any software library or other program which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Lesser 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 combine 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) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (1) uses at run time a copy of the library already present on the user's computer system, rather than copying library functions into the executable, and (2) will operate properly with a modified version of the library, if the user installs one, as long as the modified version is interface-compatible with the version that the work was made with. c) 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. d) 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. e) 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 materials to be 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 with 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 Lesser 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. Copyright (C) This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 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 Lesser General Public License for more details. You should have received a copy of the GNU Lesser 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 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. , 1 April 1990 Ty Coon, President of Vice That's all there is to it! ruby-gnome-ruby-gnome-c1ffe87/clutter-gstreamer/README.md000066400000000000000000000014421460266665500233360ustar00rootroot00000000000000# Ruby/ClutterGStreamer Ruby/ClutterGStreamer is a Ruby binding of Clutter-GStreamer. ## Requirements * Ruby/Clutter and Ruby/GStreamer in [Ruby-GNOME2](https://ruby-gnome2.osdn.jp/) * [Clutter-GStreamer](http://blogs.gnome.org/clutter/) ## Install gem install clutter-gstreamer ## License Copyright (c) 2013 Ruby-GNOME2 Project Team This program is free software. You can distribute/modify this program under the terms of the GNU LESSER GENERAL PUBLIC LICENSE Version 2.1. ### Exceptions Ruby scripts and image files in sample/ are ported and copied from Clutter. Headers in samples/*.rb describes that the location of the original file of the Ruby script and image files. The original files are licensed under the LGPL v2.1 or later. ## Project Website https://ruby-gnome2.osdn.jp/ ruby-gnome-ruby-gnome-c1ffe87/clutter-gstreamer/Rakefile000066400000000000000000000020131460266665500235170ustar00rootroot00000000000000# -*- ruby -*- # # Copyright (C) 2013-2018 Ruby-GNOME2 Project Team # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser 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 $LOAD_PATH.unshift("./../glib2/lib") require "gnome2/rake/package-task" package_name = File.basename(__dir__) spec = Gem::Specification.load("#{package_name}.gemspec") GNOME2::Rake::PackageTask.define(spec, __dir__) do |package| end ruby-gnome-ruby-gnome-c1ffe87/clutter-gstreamer/clutter-gstreamer.gemspec000066400000000000000000000035041460266665500270760ustar00rootroot00000000000000# -*- ruby -*- # # Copyright (C) 2018 Ruby-GNOME Project Team # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser 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 require_relative "../glib2/version" Gem::Specification.new do |s| s.name = "clutter-gstreamer" s.summary = "Ruby/ClutterGStreamer is a Ruby binding of Clutter-GStreamer." s.description = "Ruby/ClutterGStreamer is a Ruby binding of Clutter-GStreamer." s.author = "The Ruby-GNOME Project Team" s.email = "ruby-gnome2-devel-en@lists.sourceforge.net" s.homepage = "https://ruby-gnome2.osdn.jp/" s.licenses = ["LGPL-2.1+"] s.version = ruby_glib2_version s.extensions = ["dependency-check/Rakefile"] s.require_paths = ["lib"] s.files = [ "COPYING.LIB", "README.md", "Rakefile", "#{s.name}.gemspec", "dependency-check/Rakefile", ] s.files += Dir.glob("lib/**/*.rb") s.files += Dir.glob("sample/**/*") s.files += Dir.glob("test/**/*") s.add_runtime_dependency("gdk_pixbuf2", "= #{s.version}") s.add_runtime_dependency("clutter", "= #{s.version}") s.add_runtime_dependency("gstreamer", "= #{s.version}") s.metadata["msys2_mingw_dependencies"] = "clutter-gst" end ruby-gnome-ruby-gnome-c1ffe87/clutter-gstreamer/dependency-check/000077500000000000000000000000001460266665500252475ustar00rootroot00000000000000ruby-gnome-ruby-gnome-c1ffe87/clutter-gstreamer/dependency-check/Rakefile000066400000000000000000000027251460266665500267220ustar00rootroot00000000000000# Copyright (C) 2017-2019 Ruby-GNOME Project Team # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser 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 require "pkg-config" require "native-package-installer" if File.exist?(File.join(__dir__, "..", "vendor")) task :default => "nothing" else task :default => "dependency:check" end task :nothing do end namespace :dependency do desc "Check dependency" task :check do package_id = "clutter-gst-3.0" unless PKGConfig.check_version?(package_id) unless NativePackageInstaller.install(:debian => "libclutter-gst-3.0-dev", :redhat => "pkgconfig(#{package_id})", :homebrew => "clutter-gst", :msys2 => "clutter-gst") exit(false) end end end end ruby-gnome-ruby-gnome-c1ffe87/clutter-gstreamer/lib/000077500000000000000000000000001460266665500226245ustar00rootroot00000000000000ruby-gnome-ruby-gnome-c1ffe87/clutter-gstreamer/lib/clutter-gst.rb000066400000000000000000000042431460266665500254310ustar00rootroot00000000000000# Copyright (C) 2013-2018 Ruby-GNOME2 Project Team # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser 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 require "gdk_pixbuf2" require "clutter" require "gst" module ClutterGst LOG_DOMAIN = "Clutter-GStreamer" GLib::Log.set_log_domain(LOG_DOMAIN) class << self attr_accessor :load_version def const_missing(name) init if const_defined?(name) const_get(name) else super end end def init(argv=[]) class << self remove_method(:init) remove_method(:const_missing) end Gst.init if Gst.respond_to?(:init) Clutter.init if Clutter.respond_to?(:init) loader = Loader.new(self, argv) loader.version = load_version loader.load end end self.load_version = nil class InitError < StandardError end class Loader < GObjectIntrospection::Loader def initialize(base_module, init_arguments) super(base_module) @init_arguments = init_arguments end def load super("ClutterGst") end private def pre_load(repository, namespace) init = repository.find(namespace, "init") arguments = [ [$0] + @init_arguments, ] error, returned_arguments = init.invoke(arguments) @init_arguments.replace(returned_arguments[1..-1]) if error.to_i <= 0 raise InitError, "failed to initialize Clutter-GStreamer: #{error.name}" end end def post_load(repository, namespace) require "clutter-gst/version" end end end ruby-gnome-ruby-gnome-c1ffe87/clutter-gstreamer/lib/clutter-gst/000077500000000000000000000000001460266665500251015ustar00rootroot00000000000000ruby-gnome-ruby-gnome-c1ffe87/clutter-gstreamer/lib/clutter-gst/version.rb000066400000000000000000000022641460266665500271170ustar00rootroot00000000000000# Copyright (C) 2015 Ruby-GNOME2 Project Team # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser 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 module ClutterGst module Version MAJOR = ClutterGst::MAJOR_VERSION MINOR = ClutterGst::MINOR_VERSION MICRO = ClutterGst::MICRO_VERSION STRING = ClutterGst::VERSION_S class << self def or_later?(major, minor, micro=nil) micro ||= 0 version = [ MAJOR, MINOR, MICRO, ] (version <=> [major, minor, micro]) >= 0 end end end end ruby-gnome-ruby-gnome-c1ffe87/clutter-gstreamer/lib/clutter-gstreamer.rb000066400000000000000000000014401460266665500266210ustar00rootroot00000000000000# Copyright (C) 2014 Ruby-GNOME2 Project Team # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser 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 require "clutter-gst" ruby-gnome-ruby-gnome-c1ffe87/clutter-gstreamer/sample/000077500000000000000000000000001460266665500233375ustar00rootroot00000000000000ruby-gnome-ruby-gnome-c1ffe87/clutter-gstreamer/sample/2.0/000077500000000000000000000000001460266665500236365ustar00rootroot00000000000000ruby-gnome-ruby-gnome-c1ffe87/clutter-gstreamer/sample/2.0/media-actions-pause.png000066400000000000000000000054301460266665500301760ustar00rootroot00000000000000‰PNG  IHDR01œ^*"sRGB®ÎébKGDÿÿÿ ½§“ pHYs  šœtIMEÛ2Þ@\_ ˜IDAThÞ­ZËŽ]W]õØ{ŸÄNHâ¼ ‰P"DœC1‡B™s|s`ñŒ0 $ Ê„!RÃ$(Û}o÷={1سÏé‹ívbËêvß{wíªZµjUÀçë×OûGÜðo‡ÍkÀc.àg`ëÀ»à‹€›ìSN¹Dò#ïm^{BD"y³:úi‚4¸`ïf/?p9|ã›/þÚ̯Ì÷tªHØï÷¿ûío~ÿ3‹0Ï3ÀÝ ‡[/}çÛ?K)½Dòìï/ó|øç^}íû7>¹A7³|íÚW¯¹û×T5LÓtáèä~¿Ç4MßðS3;53œœœì„€œ3ó¦iúžˆ0¥¹°­ÝnGá…ž¿ö·¿¾ñ†Ç!ª¯\yT~ôÃCU/tè­›7å•_½Â?ü\¾l€@M»1FÌsF Áàá‡ÁË?xYî¿téBvrÎøÅ/.ï¿ÿE•)&xˆíÂ)%\½z*sàúõëH) xˆÇ „`–I–úJ)ʳÏ>‡|ðb0#¥PU„èÓ4ÁJ*"ãÝÿ¼sÇL˜®<òØêg1¢ :RJÈ9/†ˆ~ðÑû½Vú˲~kfÆ“aeGEc„»;¥_” ÓØïwwtÀÍÀáB$‘R Øf 9@®jûýníÀÿÉUPÔ„1FzŒqV "ÀíjŒ$ ’ý3C6Ÿ !”÷l.ORÃ};["(ÊKU¬d ÆU^Eéδ†EHàºbŒÈ92¾›5¼{;ƒªÂŠ+c%šr¡ËÇLjÆÁ^Âåôö_ÞuO[ÛéEcD¯ä»v¢C¨žC,Á:¡u•ð®›oo B+â"ud¡UYÞ9¬0àmBG2pìòÄE°Jc™¨)S*}Z_áÚ vâ¡"„²J`Ï€PŽ}æ.T)¾Ñ¨ „@O)QÕœq òŽ:¡Õe³lj ¥Tj òÈò¹<Øàmí”Ë/E/ªè4:ò+‡r'7Éù’ãÆxª4ºÒÑ!GAŸTŒßÉΚ\T1Dxªàš®pÜ H6w(8æÛ˜ÎÝ#°“M½”3ÏÛ!×N© cª4:óБ_ïôÚÈ­Ýth³Ó-ë÷íó¡h¡¼ˆ-âœyÚ±ÌÖ0U ¹&£‘7˜)kz@£ÓcˆØfäÌžW–6ŒVöÊNÞõ Y"·éE1ˆ8@’8ÙŸŽV.C´µë kh XJ „bŠ<›÷ÈÈ«”i‘dÅkzzÍP“ÆK#[óݘ'û›K;&ª•áê·´,´F)rŽÜZX(ƈ[;)CÚØ±¥(J,%PÿJZɼî!BUÖÔDÖ?뉓E¹nm5ÜJÎç@LF-d9Ôb*.¨h ¤qÀâ…km" UEš5— ˆ3 U…ŽªR¹­ôlŠÊ,äŠítU ¥‘…H3§ÙÖúA¯®áêJ?JJO!¦¦03ĸöšTµ¢ŒK¦YtÎó|@Î3sFÎÌóŒ+< ֘ܜ1DzJÁ ólPÓŽ!mE* ¥É ôبjàeÕ‚KÍ€ÌTUØ ½öûœžvÍ? 7‘ª™75˜•¼h!s£l5„È„yO%þ&zdJ_ÑsPUäL” Ø‚õú>UºíÐ'À¬ÊB-ÓîÆ=Ä75…š­‘B©\7”œ3ò<·IlrÔ&ˆò ÛÚÐDæ5Ó²¨Ê6PQJ`†«ðÕ%3åž w“ÞÈÌ-»Ù’ÚaŒ›ó\¾Î3rý¾u^+ûWƒ›!D§ˆr™‘3½¦_6Ð[¦¼VvìMR³s¸ÂÍ`n9ÆHO)Á-ÀìtåÀn vh4t¨µZ1fÙ8Ð ´\x%Û¹¥Ðì£åAРj †Øp9B¨P«ÔƒY…—Cцlö÷›9‚{½l>R ™ÃF;¢È"çWïi dÛ„hËvð"Ì ÞÚgUÒŠ‘ìü\d°@„è8`ÀÌÒDu€Äb§Þ¹qz…ä:h¥.§´BÐÜR¢Çéî,ÅeUHÕCë÷…¸ô‡ ¡ÆBR±©¦H1RT8®JbŒ032“ jÍQ…0çе+vÚe' w/k•²5S˜íbÑ'¬z©Dxl…Ÿkf9·™3¹ iï“*R!„Û,·dUÄfF3-J)Á,Ôù°À©î~„µfB zBîaÅ,C:„L­Ë’âl…PµCÂ\D3´9À‚Œr×€ÐÖ*nÖ ¹ëíÆ@Íÿ¡¶¸ÐH‡uMsB$·Î‰HWŸÛ”!f)`ÊÈBŠC…ÛÒ`jZ#Ë¹Š¶†›zñŒÜÒÈZa•F6χ„ܹ52_j (WA7ƒÚE È Ø+îµRJp÷3/C­O›UÛìJ@ÈË,Ðׂ›FãAeëgÎ…FÕ± ¯ªË¾)"¥"ËRllt])Û=À§)Ñ]i­s™ÄZcé·¬dÑšQèYÅæ'ˆ l¶„ÜÌ,Žª#ª M­MU6i!‹¬·^kÊ”j'nÍ¥h®–­}¡Ô9`‡H+âPv­ØÖ@Ù åÞ–YCúB¶I¬La ¹A4šù8h•ÖùxSã‡Õà‰¥9÷ƒc×õcr>°ŠËh±:Lî°*Š¡0f‚ÃÜûÁëmKïjb}[6µR‚©ž{BMû  "ƒ´A“ç.æ˜ÙïÏ:,ƒF¥QwŽšªmæ‚òÙ@£VK\=gh£ä(É[g¶!5ôNìîðZ„Ì5ož¨p½v©²¢4Å&°<%³s8„™‹ö:¼d.’¹/‰›öj66?3Õ*Ý1¦¥‘iOmÁ™®Và"y‰>ó¹­°¦¨¥i-› w„hª4sˆYr“Ó«Ë‚¥x[ðšmjõ2‘Õ Ä>cªjÇZŠÓ‘­ðzù;ΰZÅœ‡ÂÏc—ž¦ !̇CÁp‡PYN°YÛ\—c h“Ó)Eh•ÓññÇwGV„ú2k|ÆUfÖÝþ’…)N°àÜ>àˆ1ò Zíׯÿ»¸[íU[¤rËÊ_ê“ÿ®§Ü0M c¢©ŠªÊn·Ã_õÈpqççggg4317Ê\Ï1D@„f†ÓÓ=ÿü—?mÐÝÙ:==¥ªŠ©J‘.yæ©gÞ¼qã“÷H>4÷ôËVšÈ[÷ÝÿÃá0µubc!rß4Ýpó¿|n>æ{´#>zú©§ßHÎùs"‚·ßyû¾7ßúÇ“"rO¿ìB¾þâ·þ5ÏsRÕ€›«a¸”sNªzöÚë¯~ ro¿CR¿òåçß}âñ'v$!$•ä"üý‚ÿoàLDnÈ£!©.‹ˆ}Fv²ˆÜø-¤µ¢ jRIEND®B`‚ruby-gnome-ruby-gnome-c1ffe87/clutter-gstreamer/sample/2.0/media-actions-start.png000066400000000000000000000057541460266665500302270ustar00rootroot00000000000000‰PNG  IHDR)0Œ¹S¥sRGB®ÎébKGDÿÿÿ ½§“ pHYs  šœtIMEÛ1GI å lIDATXÃÍ™kp×™†ßïôe¦5Ó#Í[èf HÂDÙdŒ@Ø‘ÀÅN¼&…°6l*ÙZmœ”WÅû#ŽS¹Vâ®dXgãª1]LBðj7©Ø©dÙ2f/Æ‹(Ùº A£‘4Ó=}ΗÝ3#q $Áà©’zÔÓ5ýœ÷{¿KibjhŒ÷ØKP@ ñà\î½™hk_qß’%M_cà&&&²*ä¸ïÈŠÅ‹Ò4Í»‰ø_ÏŸ_¥˜ùÌädF7Røaf©”Âçþ***]ܰhçª;VnP @U°  `f|üã÷òî]?å¶¶¶E†¡?þá®5¿Z²¤© €`QàÙãÉ·ÞÒ¡iZróæ-dš&­[» <88÷<÷ÁºÚÚ„išgR©ó9vàUïFAb2“†ãäÐÔ¸„Vw®áúúz:Ö×÷AÃÐ×ÝrKý¼á³#ÿ'¥´+¸×ïâÂÌ ÙÜ Fdž¡é‚Ö¯ïÆ®gw¡ëÃ]U¦iþmGç/ÿÅš[‚¤º5ð+]W%sNRI03r¹,òž +laÍš»(y{’GGF¢™Lfc]]íâh4:06vn<ðª Ê_H)AD "H)‘s|Øõ·ÒêÕk¸¹¹ÇúŽ5åóùîE‹6¦'Ò‡r¹œº—¼ÖõU\é"?’Žã`ôÜ0ò^žV¬h¥;žÅý÷?+++Ûв¢å·--ËÖ†a-¶öZ–¬Ë*y)Xf†ëæàæèšU+ï ö¶•œžL‡ÆÎÞS]3?™H懇G ˆÀêº@@ ©$7×u0¿ªš:;:¹µµ}}Çd2™îÅ ‹–¹9ç¿2SSy"*ÔÖD"äóù?Ò4ÍDý-uBˆ9 ¾b H%1“ª©®¡{ï½–ÖNŸ>½0VûLUUÕ¸çyžç¡Pȶ,+kš¦Ìf³¨««ÃäääÕA–——'æÏ¯*Bf,<ÏŠÉs¥7ïÂq€Ëno¡Ýù!H)éwÞ¾«¼¢|eUÕÍS§„å¦iš±X,?88( ±±©TêCVUU%â‰x%7oÞÇÉA*Y íÕ‚2nÞ“Ë!¯ÄÊö•ÜÙщý'掎®­­«í …B§3Ó˲•••†RjzhhÉdÃÃׇ¬¯¯ODíHÉÍmã:P¬@$@DD q•°ða³Ù03UVΣ»?zjjkèÔ©“ÕJ©OWÎKh¦aždfYQQQQ[[ëêºî ]²¡¡1ašzàCºù”â`AÑ9ªŠ 1Gy!òÒƒë:Pбô¶÷Ñê5k8‰ÐÉ“ýmžôîŠÅl!„þ†¦iÃ0Ê,X òÐÝÝþþþRŒÅìâ üáC\0€ÆÜó ¿k9YœŸ‡Ò¦Mò3Ïü˜W­ZµÈó¼¯D"áQ;ÒPVV¦[–U³nݺºõë×k½½½Ø°aCIÉd2™p]·ƒ™“›Ú‚|Þ+.†X\N=A—ð­¸äâø6RŠbvŒººÖá¶¥·áÔ©Ó•çñM¦ê–E§ ÃH477+Ó4óGeÐÚÛÚSÓ™¥”éå¡”ºrÒàò‰%fyÌPÌPR"çf15•ë¹hjXB]]]\S]¾¾¾¤RãÝ ·c±ÿD"†ÂN&“8r䈣utv$R©ñ9¬dB€A@ˆK(Æ`Vð<‰¼çÂusÈç]xž)=H¥ÀJ!Ÿw19•†¶héÒfºçî!=1=Ñby6;³QJïh"Q9bF´µµUè¶mCâÏjsß°˜xÎg +H1ƒ•3ƒ™/èPDÃÿ.^;žƒ“(•ãË_þ{ܺp!¶mÛz33vßtÓÍ ³Ù“™£ºµ¡‰Ò,à+àø)D~"1Äð…#Ò !fÍ£³È~×b”ÀÌPJA×5ÄìrXá2¤'Ó¼}û6>ü*Y–u<Û0tCÓ¢ìyÞ¨nÇlhºMÓæfw!Û…ðG%Q€+Õ‹F]Åà€—"€d.¶YfF4E4>p`?mݾ•4¡É²²È÷>±áþe2“3;RÊÁÇ{Lê¶mCÓ4ˆ@ ?kEPû_úÌ‚ èfCra8c_G àˆAìŸÓuÑH‚ÿ÷«Øµk'½yìÍœþ{ccÓSímw¼=22ŒP(4òðÃOÀ“O> =B×õ9J *‚‚Di ü[ò1]hæ9¡ef! …aèΟå­[ÿŽ?)å+Íï{ÿw[ZVô…C!95•I†‘îééQðôÓO£§§³”,Ýœ„(…]J(uŸÞ_D +@g{Ý0`&¤”¼gïsô“Ÿì€®ëÓ‰Då7ÿ®çó? 1³ `hãÆùÝ»wÛÓÓ¤®Ch¥ä!\ÜêJ€³JÏ,Ra²e3 t‚¡›€—_~ {ö>OoL%‰éìXóOwvŒŸ8#,Ë]»vmºpïM›6]Ô»uÛŽA×D1éðkVXK°¢'Š>¥ÀÏ~‰a0 !вŸ·oÿG:{ö,tÝxñ#뺟\¾¼uØÐuOO뺞Z½zµ€ÞÞ^tww_rÀÐc¶xR”œÅ\ÌÞbí#€ ƒ0‘àÙÉ# „¿¨™™Þ³÷9úÅ/ö³iš£ .|â«ý?Þzë´©”rœmy‹{èÐ!>|+V¬¸, èQ; ¡éÅìF±(«âsZáùF)å_Ç” Ô&04M@Jɽ½/Ò¿õ¾HçÆÇÇkjkŸyèÁ-;—·,Ÿápx̲¬‰êêj¼öÚkH&“W5™ë¶mC×D± Ï)¼¤ Xø½œ|µü÷0AÓ4º"Âë¯áþó)“Iöí_|äKOݶdé´‚R©ÔŒišçª««%œ8qWýŒ£ !üpž,(FB€$CÏJ¿§û%%]Ó166†ç÷þ+<¨,Ë:ÑÞÖþÄç>÷…WÇ p‰h8 ÍÙ”ýc@¡ ˆÀ“ŠÙŸÌƒÁ—˜@ÄBh°L¡PÙl–÷ì¿ûÏßÒôôô@SSÓÖ/=òèX¬Ü ‡B¡Qi"âl6 ˲þäGZRh¥Äap`ž=nV¸ ш xåÐ+¼óÙ”sr˜7oÞ¶o}ã;Ûâñ„€˜9KD#T¡àÿ9€EH´‚'•‚”ªØ ÃDy¬º¦ã­·NcÏ Ïã7ŽzѨýêÝýØ×ï»oÃqf3sžˆÎ !¦®õ^¤ ˆÀ“ФôŠpV¸ çϧø…}{ñúëGÈ“Þÿ/»}Ù÷ÿæ³=Ãá°ÇÌa"cæ4©BÒÍÿ®¤&fyR1bv9ÊcþÆÃË¿y‰÷íÛKRITUUû‰Ç¿¶£Ð˜˜9GDCDÁ¤È|Má.Jœ‚'ožWüÆ›Gég?߇3N<ÿå_Þ»á;ím+‡˜¹,Ø29/„˜œ ÷n– ƒ²CCƒü¾=túô)]ÿ]gÇê§xàSojBSÌlBÈ wÞÞ­×,%u¼ô›_ãÀý ¢l}ý‚Ç¿øÈ£?gf-P+ODïÑuÿw‰€…š®kØ¿ÿg™ÊDåÞO}ò¯~ÐÐИ`‘à<¥ßMß] RÔÖÔ¾D£­uåÖv­;€)fíõ í%·•RMD¤Hf6‚A(`HáÞå.R2¨m€FDy)"š¸Q¡½¤’Ì\ ÁÌ"Jª¾gà÷>#Àwé®IEND®B`‚ruby-gnome-ruby-gnome-c1ffe87/clutter-gstreamer/sample/2.0/vid-panel.png000066400000000000000000001243261460266665500262330ustar00rootroot00000000000000‰PNG  IHDR0lt"ˆÊsRGB®ÎébKGDÿÿÿ ½§“ pHYs  šœtIMEÛ V"¶™tEXtCommentCreated with The GIMPïd%n IDATxÚì½KÌmërTcž}îÛv|åW!&†(<중ð–E?âÑ Ð!"tô=D D‚D‡=$$ˆ£H)„8(¶¯m¢hX !‡Døqî®Ac~U5F͵Ï='Ž„ÿ’î=¯ý¯­9¿ù}U£Æ#âíõöz{½½Þ^o¯·×Ûëíõöz{½½Þ^o¯·×Ûëíõöz{½½Þ^o¯·×Ûëíõöz{½½Þ^o¯·×Ûëíõöz{½½Þ^o¯·×Ûëíõöz{½½Þ^o¯·×Ûëíõöz{½½Þ^o¯·×Ûëíõöz{½½Þ^o¯·×Ûëíõöz{½½Þ^ÿo¾ðà÷ó7Àçx{½½Þ^o¯·×ÛëíõÙ_”3üíõöz{½½Þ^o¯·×ÛëÿÛ¯/ù+WDèÿ ÿû›öz÷ë}ƒûýÿÂïûÇ~ï òý>þ8>þø]¼{÷.È·¢ìíõöz{½½>ï Ÿs‹¿ÛàÓW?ü¹pm#ó.ŸÒlŸb}Nù Þ`þˆˆ”¿ï?Î\ˆ$Á"ˆˆ‹ xŸy¼2@ɸ¿?ÇùMÔoAý÷8Ÿ€ð0ïÔ~>7î/Œû÷‚çJÿt#÷g ÆuÝŸ‰d\ý¯@dÐÿžˆ ëßG;yß½¶Û›qÅýÛ¨"âüs½ÎçŽõßë:­¿Çy÷o­ÔŸ#ŸüÚ'ñ«¿öI|òÍoò¿ûoú/üóàŸüí§¾Ð«Íõ–¿î"ás=*ÿóÿò¿âoÿ-ÿäŸüÉŸúïÿú_ÿè£ë÷¼{÷ÑY†ó~³ÈÞ^o¯ßX¯o]Whçÿ™t2>}Jʽú“Z;>kóXïƒû˜Gïùþ÷Æ„ÏñyŸŸ«6·½íÉQÐÿ?§Ö6±ß×JNÈõ{çð¸ßf>Ëü ùìçÏâñ‰ž›ÿýÆu•žŸ®7íý{íp Üô{=ˆÙÓ—ü©xy¼ð´±d.žï|ìëþköµ“¯/?\=nñ½ŽöǨC¼îM­çŸ{r¯Çz+Ni$D&ûhº^æz>†˜ÏYïÏó|@ ~.ä‹PŽèZku7s'(OX8g›®7ùluî‘øMçùœïtÖgÜE_]ó^_@0ë3íÕ6Eë³D‰þ.ÁS›°ë¸X;‰ˆ+ü”Õø¨jê;Ο|òÍøæû÷õÿ_úùßõ»~çEį‚&Ï;T=›¿žBæsíÈßøÆÏþ+_þòÿ­¯~åË™Éëÿ…ʯXâËMÿõ_×-ÒÍAwè†ó9ÅŸmîç§ý,¿ÅÁõ¡ú>Öúâw¬ ª7–W¿“Þ®úfÇé ÖwêMª6ª¾~³1ëõÄiú­Î¦¼¯¹opu%2pï ²v0>¦+¬.nw8z©Èˆëªu¸®¤­=;‡Ãµ"ù,ç²%^ÜùËñìôç{èaëEÏ!Ý*eDz[©ÿ ·®K—ÞôÃ>« ¨ï!Ÿ|ÑUcÖØ)pêƒá@ï©úq¨kèÑÃj¹9÷´ßCFwê}àPד¿?Îç—zÁ~{ÿ¾^_û(ߘÞgùî`¯y_2xbl½&¤080ÄÊ\§^É^¨¨g©ëMØ?¿ú,R»õAs«žÛyPܨÇy&{mÙ¶‰òü!Ÿƒ&Ù^07¬¸ógà:ןRWõš=¿3tÿ¢–ÏF¥®“,‘.à÷>»WMøí:ëh­SHhëXþß84Ô†úl×Å_þå_Á/ýÒ_ýÏþÜOÿÌøÏüþú?ˆ/Âåýù«1ü›^Àü‰?ñ§þ©ßüßõ}ík_efây@ÊFˆøìò§ïŒº­¾ºâeÆÏø;ägdS|v¬!‹§H—6ætr£A¿ØÜž¾SeóPÙn?À1no¾‘g1ÖÆÀµYÞ²U`«šFoœ¾É…AË~°'"rEµ‹]gðágÍP xB½è:Äl:Œ‚šï÷»b YB¯ÅºÍs÷Á¹Àoù}¥ëÔkûú½g¯«NO:§FPh0}/­Z{”µ~þ©› ¬XˆëÅmßÏ)½˜ÑÎÎ>½ˆ˜‹’§x€]Ï^áð¢Çﯠˆ½[þ!X›Œ¸àß}hJÇ/ßø’ ÌOÙ'ê÷ê!oŸáŒU8Ϧ¿F:˜Nø >ÜÃ<±,àqÚµíbcßh r€Í½ÙOütõ,õF(EUÄÆ¹üèRŦŸ¢ô¥P&m5ÐIÐY›¯¯úœHÊŸ×qÍzVö}Ñ‚L MÖ¨¬®–l ‘õ<×UÒ%Ï'¬¡Å›63À]0]ZS¯zF÷ß—ËùU¿Ë°R7 =”7QÔaÏÀ^%3Á¼ ÁB€ïß?ñæ/ÿþöŸøí×uEf~rŠ˜oþ2,`~úg~&øþKñ…/~ó_ýMßñµól¨ÌSÑ×!Úñ„”§y4Ïfø>.9´Ÿå½ÙìªV7¦ûï¯ëÌ]Ï‚»Ö±ôa¹ Ñ:ØÉ:Œ¼òmpÕñáô‚UZô¦ ·÷ó’ñ~Ÿ«»ôiú)‹_@íøž›p(ìÉ×põ‹„Aä„/èú—ögöÆÐ?#Å‹¦*l®© õ¸î6¦6ÿûž‚ ÷LüêF –ÚÈR .¼øÂX¾áðáÁlƒíq6ÓÌ3î£;Œ`Þ›1¼!’¬Îµ7™û‚ÜxLÍŽïéx£0ë×w¾¯Ç=ùŽèGêînYÅëé2{—ªN‘:M¸Ÿ¦µ¦ìL”£v»û_g»®ûrn0CŠ(ßT°ÆMynŠŽyzÝ(úbêêï·[m?íèìùÅõ¡¢l£º•×þ6ëéÜ54L¿Qå%ÔÍÓαçg…O†PèsRoqyƒÒÝ8òäõ]Î? òųNRá3ŽIÞûi¾Ã\kH¡º÷™ºK×ã|V ×ÙÃhoa¿ç1öÛã*¬Ñ{_Ù£FmÍ®àG´{ýÇ£ ë•Xç_íyðæ’‚¶DÚÝX ‚Tç¥ëƒt9|±÷îKßä5 +eÏCÒ…^Ç༧UW/qÌwYgP8.ø°GÁ¿ü¿ÿüðüÈ÷žÿúÉùß7?PÈ|êëzõ/öç~.þîßñ;â‹_Ê÷ßþm_ýCA$"y®-yo+<Ý×]ŒG'3ÈS”ð>"î¿’<0Dâþ¬iðjö죦Å~j×eÎbæÒÂ:“è¼wæ‚ÔaÓË:² ¡È{$û‰Çù}IíØ¿û=É<6åÉ 4|¨d>q§zwòÉL˜.ʤÐíŸR½dÍ‚ioÄþ™:Ä‹°Æ<×’y®û<ü$©Má/÷•È› wVrs¾ßýþlÒXÍœy Öý¨Ù:e¤w„”¾~Ðy6;ž3Ч@¹ÿ[zs)Ÿ¥î!“RlÕ ‰s8°Þ?Ï)ú”qoF 2ñI='ó¾vq¾û¬ÏóÌéHMGb½™³‹žï¬E<ÑùeœäùgR• =] ÚÚOÖ¨GW!§{&}<+Î;Èç)å4Rïö$×uWM0¹wôP‹UV³‘\ßeþüWo ö,œ‡Ðf®âµ'úSh—}ÎÓɱÆ5¼¹¹?“¬ýºþåå]ë²×l5+µ¦¹¦=÷Ì¥+¡ïŒ½ºç¬ûXïɾ¶þA-îdo8ûÍŒ»fõÏz ñÚÛí+0äCuº÷KÛ;Sƒ¦œúI­óçîÖ#Ÿ”ßwÖ4jR@O4séÅ Ö3NêHgVʹ…àý]©ë|Á9Øx§A=„²Ïß_#íè=K&¾û»¿‹?ÿ³?÷—þÈþ÷þÀ¾ð…o‹ˆ¯DÄ#â ‡'óQŒréS_=—ŸþFü•ÿó¿þ¯ýüÚW¾||ôQHÕÄX]µ>Ø€@æ»×«zu:AP´¹+rۨ˜¦¾±»¸0’Ûl,xp ¹`nÚ˜ک¶mØ Ž>¼÷¬òÅ—£w‚Wu¸i3ž~š’ÂÎæ&FÎH,Ø6”û!0r}&Áðg‚°‰¡2úÃ@ÀJÔÁ >IkvÝ(©­Mý®èûS(tã ¼sæ„Ãকp¤‚óÂȶŠö„gîõ N:GŸÎêô:°6‹2ÇV…O(ø.úàc ì zµõŽÐÄÌþm}Èø¯»V]Ë:”zåÐà!#úÓN{^ÈççNƒ„¬ÓiÎÇÀ÷ Ó“?T!Ükih¥ãži#[r’ ¬Hzнd?£ŒDωušô:¢‰éóÑ-œiTQ‘ä5xªÏÛÏøA~®A“/èkŸq¤Æ¶‹Ý+º,HÅéE|ß]3énøŠ¬îä³.û{©u•ë™Ô}‡ó×y§l]>ö/#\Í/ôŒ‘qæ=Q }ÖvqËir1²ºŒ³îû¿ëèÜ阘ñ½¶EWúâ>æoý­¿åǾïûó/ýøÿ—?ÿ)*‡ÏWÀüè?ü~Ûßñƒ?ø+_ùò—©ŒŒžBwZV±ç¥|ÊÔ×%„©Šç†àSŠ· úÂð9ËÕÍ W<Æ/þ´8#‹càUÐBU´ £Ó¸†x~¸-¾Ö+ö7pÆè™rpÍa6]Ø/ç!vÖÞ'<ÄÝg]†Bò ‹yH†”Š.EB½ïs:#´„ͨyéÁsº„³Áp€‚”y¡Ô$JUEèJ&m„ÚïÂ)Þjø«nzŽþÊŸ*î|†ãÁÒêö_Ù·âk¸W÷ØšK‘¤½R ç -š/yun+¯ |Mˆ§Qƒè°P+ëÏR†#ʉéuDç‹Z-ë˜BXgp0R'¹eÂÑ\@G‹¦Xë=^Gë mÊ(£._ö=²LA!åûtrqz=có…¢¢¤ÛG˦ǯȼuíÚ~rÝ‹BŽíõ“)ŒüZþ×â¸áB‹OÕn̪AïK¯þ¸JÐ×OKigŸþOøT2£Òg ]ïøwý?ôcí¯ýò7þìÿø“qM„>æñ¹ÿŸÿóÿâW¾òå—LDëÞ¯™ÖùÍ×ñˆ„O>H¢ý(¢.äuÃÝÂÙ—Rn€ó;!PWU£× ôBª~”„ÔŠžÅ¦;ð‚Ñmʵc@8ôÎïÂÌ»ƒÔ½~œõL^¼!x膳uúçç 8dŽšÎy ã|péP¦ DÁÏë:B4ö®lãéäT®‘Òˆ}~ÖGõpy! {ÈüðDD/=l•3`:û_–⥛wUÄ™3kÇ+•]2€+RTU‚ÃÒãYL¦€RtwRqßÓÔBÿb )2Hìç&dnŽuÿ…!Zj•Kö÷(ô¹ÑûØèèUS¼Aš·Ñª¿^†-`=­ÂpÙÀ‡*B–Ýê ªÐ€Oží VûÚƒ’F÷U^œÂt+M’£É*äî¦)änÇç|xU\³.8{뵎lÛÁëãæa]X×¢”KWïUEϸzoÓ5I"pe(¨Ñè펜ުؠáÂažÉ¼hâæÀÀw„*ÔNÞ½ý]«JqM¤_ãËMÞ[ß*²®ÂíÙÐóé‰rBø)«éQNåÐ83ÜAíÃñ [Ÿ}UöïÅÀ|Á暨Ükä}î&Œ¾Ö{L¢•\`FÖúÄÅ_üÅ_Äß÷#¿ówGÄ/GÄ_?ý•ˆøÕËyÿ S6ÌòÿD|ãg¾ñï|éK_üÃdbnôü[gw=w!…:ÜÚܶ˜.TÑÅy+ñ˜'Wåž]fWìù Á«}AzH!`¾€S9Í­ŸáR ²„ÏtëÛ¦pwÊC ³»Q©*ãE×uª• 'qÍçG7™µ´ê:€òp'}l$s]E´Bæà ‘mäá5R‘¡ç³r÷3{-Í©k‚‘pފοIç"€ôâ…|9•›ÛÅéø ÞXÄ¡`öú×ÓÌkñF©êÞ¼´…ðŽuÐÁEô­ç …[ÐäºÃ#;oo¾Å«C›CМgêiõQo0DÂ@žV»Qã(ê5dÕáÈU:Œá5éÏq)£ôÞm@Ÿr«höžF漟®ÛKŒ»¢\VçY¡hÚ.9ÑÞShøôÀô©hòá+…¢g,1ëŸÂû.—°ýÕü=ú{§ñ•Ÿ (yäÙØxK‘0}¯«ÎÜ$ß8MPôHÄ8Uç÷%¼|LõÁ×ÏŽµD¬‘‹oTëú~¦Ð#Œ>šs'Eæû¬¡Œ^ÍÞ@þ4·JR÷¢§l½×} -8ê ä«5KÄâÜ®gj–/_0ä}Aá*7ޤÔïm®ŽìiÇÓ §Ÿ=›â×U{çº'ñ]_ÿ:ÿØý£ÿÍù©ïˆˆ¯©uqb>ȇù("â~á‹ßý{þžø—þàü/¾ðÅ[¸€ÀSû¤o<ý¶¯‘‹Ý@úìpKX#ü—éT}!7~·Ï:0þTK¯ÍÁ‡ R ïј¦(.‚¢Áõ Ðå­J/nˆUø ›5Ò³_E¥=Q‘ÎDÉ`{RˆL0FºYúFñ”eÏ%¤ÝÑH\µ³Æêø_(§”Nx%ÛŒÚFq.ò'Y±6°¿bš_Œn«reÅ`Þýø)æŠWì¹5^ðP²p”D®îÆËá5\òþ\_Ë­±8=f·èóåTvÆØ”u:ãšÆc^+Í—øÊOJØ]¼=t K!ŒsykPPÏk+ ª³%ã‚´½¤…†Á*»¼ÎðzðV>À@à]œd >èRÁE1æÒ “ÎWc,•^!ëa‡³ÞÁ*ȀŹuŒW Âëy²ÒœDFWÓaºé Ù{¸ˆ]a]Hº¢ñùËgµýaó/áh ž4cï/|Óv6)#€Â½{2y¦ßƒ® ìµ±Gj† ï±ŸN0ð÷ßÿ½ï>ùäúÚŸþþÔϲYñ¦Hz‰ÀôÇù©Ÿú~×w~3‰§toOæÉ@À.èžþè8ˆ/YÓæ+yö1ê…2ÆaÎÅÀS9G—J z±âgNEæ²®žââÜÔ}èÈÀv y`bž¶ 4.s=Y—âJ}lðÔc¢) ÛÃo^Õxi™¨ø®ŠV‹W)÷óù`óìêƒIx+T& <È¡aЯ8yöõâÈÝ«A¼$·pþÅÓ»­Àmo¶¾'¦¨Ž‘_7ðÝΦ/x}[ÇVÏÃ5Ÿû>@ç—(„¿æ£cz¸Cl~u|B7ý{48Þ<˜Ð&ÃÈÁÑ&lxÁÃRÂ-K=ß9Õ£J:õë¨g[‹1ã‰íφ]p-¿{L¶«ÒRêŽ$ã/¼˜‹6ù¶eý»pÁ"p¾*é÷’}íÿb=ŒƒLfnö[ðñÂÒáU*¦”X]ºO–¨4vp¤òzÕ´}êÞîÊéÝ•HSs\¯íKÓ¼L…ÞÁö;Ñ[ßðjJ¿U¦2¾ ! ûxkµãº?ʈýQT¿rR~õÌžµ›ánCÐEŽF0~á/þ¥øûÿÁàGÏÛþRDü_g¤ô+q;ù~3ÆÁ—ÀüéÿþÏ|ßwÿ-¿é_fÒ­• ÍMÆ”H«n¼ÚbúŒºŒµ¯$ɤ/ìU%Dß1ìžâ23.šÆÝYÆ›€±¹:o³„m.d¸Ýt'‚áYìÐ5x>­ŽºŒÚDI7÷ 5ò€Ó`Ìì)LnM½MùUþÌ\ä’êf™@oÆ,”Wˈk‹ÍT·B:”K—Ýn“žê¢(žZä(9ÑñèÔºÃ:…ÓE§žÏ½/º²Éq•œaÊ…fy›‰‹A »ÕIýÅÛz›ÈÐÁˆ äêã”G"J †t |ðê÷M^ÆËåF‹êÁSs¥ý^E´®¯™ÑjPÓ=%p&…Æ|«‘XQŧðÂsVÞ3¬sœ‡&‡'E¶ýˆ)YÊíQ6¬yñ<Ù‡»ÈT×xÊÈÒ}§´ ÖûV—¡žÅHPQ#‘² Ç%#û^fD\ô©òZÛ ο É{6?nЗAÐ>Z>eŽïŒ¶ä}Tøþ~&p XT@žMvøgÑÄÙ₽,ÊË‹GdÓÃÏ۔чË]t¶ýHîÒÆ«2ú5Äú)äÛJ-†ÝðRâ—td#ÎýLÉç˜^í´˾b„#¸y1ÀËŠ‰A9qäÐÛm °Ö‹¬Qõð)acöA3ÎïˆxÊ8ÍÊA+9$ØÍ"PÎe[T#‚ïêHúÈäz=W;ÄÕcGµ¯Ð ‚ Õ£þf@HæË£zyòfI·0Yû¹oæ^ã¯ä 2È8«Ë¢#PF¼Iå<Ñ…鿦î`,H|8µã“O~-~ô÷þCkD|{ŒCï+ƒ»¾,ï""¾ç{¿ã;#x¾MYB.½¦à…L>ƒ¹Ê[>Ÿƒ¹”1Ogeôš]˸Yû(hª™ÌÃn•¦vô 7é¤Ç7cˆÈÔ®]I}—Áþ'‹0÷”ð»2µ„!£TÙÇØô.œsýtÐåï-UñáÈ%ï6 —ΔUUƒ}ˆbÒŽ{T”¬¤š¢€aD s­)][w8c~Jã9t±ý¦"æxp$Çâ)¾¢8Å~È›„ ®îòŠ-ÉfEâFÙ=]â‡Å8×Yco±™|fp`£) ÷óÆ"@;wçé±â$i;ÍlŒÎ*uÉ‹|Q•\xä"Š.ObF’«|äˆÅ(Ø›œçÌHídzoְΠ<õÝ!mR©÷gg^S`“üôpòæÓa12–‰¤{÷ñ¶ŒÀx6² ‘|-]ƒ± Ù ÍâûÏ)W¢ ¡]«|†È@!ÀzšDîüšM–§ù§ài9°•U«»‡Ëu¹fbž4-.D¹G»E8ˆLˆqåŒÚ(Èv¬b㡵ÚÌ÷Õ›éÜ V¬õ'äË9üÂD(y#ù MÖ¦ÝîB…ˆTB*\jÅÏt[ çšKÅ•ÎK"½>|œgM‹‡;ñð+ÂFãÚET¢;£ÍL1§1KJðæñÝ(ÕHÿ7g°Iè–é’&$÷º1!.5•Q ^ð¦dö¶0t•b°¹gäæv©;úëèž[Z¨bóãwïøƒ?øCÿøÿÏÿø;Çï7_ 1ƒÀ|~DŠrL£ØçþR™·ÖŸÒ5^Ü×giâÛG¿Áu®·é–vª9±Uªf”äˆjï 5¶iÈ|¼VRa‹gŇEH3OäsDr¢ôT"dC± +‘ÙöŸy͵‚òÚ»J(Œ^¶Ü'·ö´É²ŠRs¾ÿÌ},t,µ´HCç.1P¼ºH› sQë)þUv>íïRùÕG>œÅì28‡ðÉ´m’ËXÎCh£ˆ0B±—eT2{Z&º ¬ÄìÁš\ÜPSýX.í]§ „>Aåi&Xž{rMÃÕ×ëæ)m˜‘×ù!æÙoF‚ÿ(|IA"µ8.úD5aCÈ¿æ2û\åIÙîÒø«ˆœ‚ðÄóF( í¥PV™ÄÿðßˈøÚA]ÔæWÏ¿kNÅõîÝ»¿IYºèÖßa\•0ûë‚þœg·$Á§iålNÙã Ì&ù ÖdÐ gJ˜BÛõ©òPèñÐ4‡Ùxc†Çüé\¼3&«…æ´:Y·vÞJ(oƒÅ¥.âÞdË{ ç½°õþ”ÐÇ%IW”¢³Œ„O©Ô=þ#¥#Ê•/óÛ!ucŸù|rFNÛíµ=0B²f  yá}:ߺöÑÇb— «À+¯Š”°îÙ›o{í gΨ•”¢[‹®|òËÏÄ¥£¡v~’©ät=ŸžbMSý…øÚÔ&–¡Þ8Ê‹râýÃËvgÅè½·gXpz¾Ö–p/;E7¸1Á’ic Ѝp:7zc %!ÎsÌÚz­½÷plÝ3ÌVÍçÄÅ-ÜûÐqÖÙ³¿þÜV䣛Çý€ }"¡mÞ‰RG9 ™Æ?QÆÉÉöPâiˆUDã Aî§óèÄ·iÉ…ë9Û\±˜„]̾Xsê\×k$ÅçÇ„Zl§iE`á _K‹HÉ@Sehó•”÷ÔyVÔMgñõ^œè=Ûggd!3 Ƽ†Jå˜;!‰A)–áõA™—kÍø}”ýsŒ(D¬0×ïû¿ï{â·ý¶ú-qg$}EãWó¯<Œûá˸ÿLØÇæn@‹Š\³½œÔ]E{Ž&Y­Øiã”8U:¿Âë8„Ëúà Üsùȃž„yùÌdb¸ ©j¨x‘Ó±aåt9üŒVU—t ôÎÈãÌ ½—5ßѬ¼$õöŸ=ê#SÿûRDüßG9ýÑ!ùÆ» @ä‚êƒÖy§ÜØ€ò¸ìÞÃuí}±Rôßç=Re¬Ò½'½èE 3MFÜrÁ#©B£ú`丑‚±Oº¬J6„!ÜBœ3WJÎеÐF@r£s”+Ô÷ÌéÈ2e~ºÆO·õúÕ›Y 9áX£­ïN¾@Uœ¥Íê’+‡Ú7Ž z€ZÎG p”8aM ©Lˆc§.dx~SXD£™B±iç`µr$$0Mè4f„,+ìl55Åyà ԈûVLœQÎMXOá *uÚ4 [• /ÆZ[rä=2®³É¼ï‘“UþN ;ß3ànž½.â~ž.ä©gTØ`Cf3«€$<ö %ïuÃ3e6.jÛ ½àß ‹ä2áÃzÎ#Dù“ãì+ÏJ'j‡¨é(±2ÛX 8¤A£†Y×ê³±¨ƒ‡<ûèeî*Ê#›X„Û•ôŒpçf5»TÓåEå® ×HÍ‹¢§ªlFi4žJo÷o©±Z€"«ò¼'—dìÝðܦ ˲ÅC‚M35¹´EÙŒ·’Æ~Ø9Rèn @óU2xL%@B ?ÄÍO)=s‹SåÇ}yÎJ b9"—ÉM2à¡Lµ 0ÿ£"r§pNÙ6(ÞÆÙ%Csp¢0Ý´ºð (Êe›t+pö¯/}ñ‹ÄåK1IÕ_ˆˆ©w×ò/ û<Èoظ$ºÈpø Úi2Äë")Ö Õç bUËG’tfº¹È3/Ñ»hêòvÌe~ï\M@êÅÞ~²[Ðß¶$yº˜z¾Ú¼íëR2]!Öö¼pr%ÒÜÐJ¶¼+‰ÜæFT`ê.‰”0fDLÓ×uÖ”›ˆqñvr%©:‡ªœ+–äš“)ÒNF^¼ç1—Ë Z¨rï[ÕwFUÚícº‡â.Ör„ݹÛæZ2PiÞ1R`Å”¿ƒGIgΫ—Õ3­ÊööpCu´A‘Ä·z &ïÎ>(iæ]©´þ\γڙ«íA²3~±©±¿§[Ð%³ÃÔråX–ç@ñÙ¡¿4ÛdŸ£GKlò2èBÙðè&ÁÒÕQ¹z#¸<`¤H"Wê¯X¤D£¸Ÿ–¨îNN[æw4¤ù°Œ-À¹>…t†D’4/#ùû­ü 2ÚbŸ ˆucL9t™ ÉÎæ»uöY!0À͹IŽ ½?d‚!æ“étöþäüœî“Ó¶Êl…T=Þø[)ùJõ ‚‹ûa¯„E Öx¹“¤§hP…ÚìÝ}¡ù~k­ÃtŒùL”-»wµŸÔí>ÖˆdÝ 3!ëïã†L1²™3ýjJÈ»?þHŠ–/žÿ½抈÷×u¹\¯7,ˑё¡†3NÂGÏ”¦?‡æŸ4ƒæ¼‘‰^žbFä1«ÛÓ –áB¦WªF|mGÜÃ{P8XŽYpX·ÇÈðàP‰+„J3›,,*0‚¦¡¢Kuc5×"—%fÎÝŲÊs~ÊŸ3'Kí–¨–Ö1(Z¿vîD[é¸ÔjkzÖ*a†HåʈB‡*3•zU™V-G¬¼(§ª*ýcrŠÂC'¦Wõ“BIœØzM“&sqpÔ¦\x’c””’¹nûþæZQPQvgVˆg.ï“›#âÙ:1°ét¶ÃöÂFUBkl:¼3åQ]mLȳCÖAÜp{5-`¯!]Ëý̘7%½˜ëñ®\Šõ»(šð˃ÎñAÕ"<ŒÀ¼=Œ+€1òD“ÐïªáRéqAçy´%øV„¥-™µÌ‘÷RTxê_Å!%LY£&ÜÁ>Ì<ÆAŠæÂ+°Ð9 éb %ô\%Ï3¬di¶¹$4‚ ŸN¡G=èÏÊ‚ðXЈf©1Óz˰{+Þ'~Óã:ÓùHáWž;„s®d“h3ý¤x©5¡ø ºlU»ÙjË Ép£rFà]ˆ„AÛ®„¤¬šðAOzáÂPŠZv“2ªf¼ÄÍK"]ýt Õ®ë£S°|,ÈËÎFÂ;*ž‚æhöîîF9%­Jˆ ö…"8m§"¦ÊâÇð¸ GA‘@¦d0t§ÛdVÉR«òv¬j}9â*¬'¬{ý+ÃI…˜ßž\KvxØÛøX)¹ÊÎ'NÏÇÐÒ jf7„¬˜"ÇW%kîÄPÐâˆqé„$»6÷d±²Òú”¨†Ív€Æ€‡ËRýt-¶*—¯Â´TQ£.†&Õ†€ÀZìÝðô +UØ•¢ªŠIÃsòÌ¡7¤©x÷FëFƒHt¸ÜöÉ©çBZ³©œ0¼ÆWFnÖÀ@ÌÊêñÔÆ]‰è”ÍN4?“Ä‹sn´NrÊó¸aäö-Ç™Çdzr5…TÌWV猇R'tÄ\‰÷éü:µ¿Æ!„ %.âÚ|rAúž¹£e‘‡(ŸšQ„#1áNÁ8êÃ…ì|z"QøG:Ž–&ÊóÄ 4büàTDA²±”_%þ[ÃÅ“ýÈFÒ°ñK™ˆšmÆÙ,‹¡™Wa’jå×Há°^«áÔ}{çÌ…¬Ý\ã™>ÁlümrÒÄò<¦†ËºÑ½´,y˜G*´xxØï6 ìõŠðTXGa}¹ãhq}LC[J£V!£EL¼FtŠ"ÁKÝóèÁa]ýÕŸqOš ê Ù°”å>hÖÍÙ¤|¦9ôâ”,‰©}IƒÊÕßäü–Œ•~+îœkÈHº;žo¸ÒÖìVPö¼È˜ís ©Wµ²¦Ò0% Å YF Å.O æK‘-£Å;–ʪ6÷–Hí…㎒ŒWfUj"ÖD­Ac,‡\öÞ9òô˜ :CŠ\çîv O„C@ä" Tg\½0f›“Ñÿe7®tŠñh˜ÃrÏ{§N—ÁÚp¿îª4ñÉ-M¡ɆJrA…?ÕE!ÄñŸ'—‹ª8{ÎM¬g˜b û0ûë0Y.!‘süJŠë„Z›kT)(U53©^fâ‘4ª&ÉskÑBŠÑàuï'be K@+ýû B“Ç÷¸Ë„“ÏÖMhô›×$³€óùƇ*Ïs;æ²éϬø¯Ì½?Å´r^º^d»õ´Mתæ®ÞóÓ‹\ˆJ0«ÙÚëS…&÷¹^üOˆ«½Ôñ¶È|©QÛëïÑÈY¼áÞ-%¡#› ÓEFê—„„Å¥Ì Ç„jˆDãå0ÅKŽÀ9ôÆ˾¹lþÃÇNôÍ€:îêHŸ…v¡‘â±r¤Þ„J?ñvP3¨S°•5Ò›™òXef¼âiJQäÉç‘ú¦zv¦î^n™Õvƒ u½E#uãš;œ¬î]ˆgÌ£É'4…ÚBźŸÓŒgÚ¡¹í4YYѤͣ(2x¯fxÎUyÊȈEHòð«®7ï*7ø›gï§ò³”“Àm›¯{$ì÷î„xIß ZsôÄÚL9_§0¨¯44%§—g°E#]¬q&•7bàŒAµwÖUÐL2+¿«ÍBRÞèäJ-©4B( é{<áMÒÏ[iõÎOˆ+ÅqŒN¡r i÷£UÈÄ»±gã6­¬ ϬÐÌ7mÒLH“…9ÁN6¤´§[Ó~•cé!Uï5¨Òùù /lõ†vË9¡dIšæéñ’D/¨”.#LlÊt/ËaAއÇÿ¡=(ì,à)VKÊØ(%—ŽÅ‘q¯£:®TGãÕIô†®#8ðAð„¹%¢LQt^‘òRD¢Éxnb¥SÎÉêô…øM訂°t“Ժ̟ÖóaéÀaòÿT鵎I4“JºïV¥T¸^¾ñÂÙUbi!ƒçÈùÞærͧ XÃ:»T‹( TæM3a°¤gˆA8M\í+Ý<åÐ(6€Úk ¦¾¢pa£7Go[Nnþmx¦Ê÷×)|Ré‘9\W4¡ÚY^+Xã£8LZäµÚ<&kƒ,¨¿ÏîMŒ*ZûЄü^ØU1¹y±O7ÃFe˱fr9éªC§NCç œÇÕ<îo±›‘[€Öbqcº]˱Iš±äÉgƒî¹&éµS“’séã.ã"uU©#5“Iº>>LäÜτ¦¢°@Í’¢6øSÞÐ:í᜵… i)†N#4?+–pª8ü«¦_²pL®t>K:/ŒXî br©ÜÚ{©1õ³ÐýUºÐûþuÓ®âs¬”aþKPo£•¥¥Ü«AQ¯)0~ ±¼Qê¨Á‚¨(Šô}üƒ¸¤Ÿ’«•ï;åöìÆ“ò¢bsGb…LjaîÛ#ü4¥¬YÈ# £Ëåº|¬ósÖøxöÄË$nšœÆÈ4¢ú ìÅã×TEº¤ôO!Pê{-yNA|Km—†³Q\E\·B+¥ •ùbyûT%ÖXb‚r´U¯¤.š$œÐTsTÇìéb I‰.6³ÒlË(5¡…­¹‚Ë÷³Å™¡‡·*g %ÿý‰‘R£ ‰O-%þ‹\_MNÚ˜-DÄñ O"¦ŸÑö»Òñ`À¸…„”gCŒa#®sÞ{£ls÷xåµá5ÎeðVŒ¯†§ò†0ÖuŽ«3W>‚ÝÌ%K/·C6‰l/¹« TdV,rç–ZJ¬sÅuEÈ…úPæÊF:M9é¼{Ÿ5~Y©È£;»u¹‘âSíZHhj³ÐID–V´ ůˆ¢&Ï –QN#fzÒllgá)_‹&ƒx5ÔîwCÍȨ “2MQæÜ˜-¶&@{V•¹ïPÆ/²¦xMÛäŒ)£t:èaêÆs:%M¾‰‰ x;¤¬ÏŸ!EVÅ5¦…†Ô`™ü¡?F«ï -Íê:ú™à)ÞÎAÑŠq×lnîjÞý´:wÎGÿîÎ*@s“™,b«TƒÔ=[<;”Ðo~7~ô"³ÄsÕIùAaYP‚3=PMÊcÈ [Œ» v4œ¢¹›3fOɱ*>Ì3 n¯µãBz}½¿ ›gRì!Ë¡%ä)C!¡£«ºî›–Í¡KéÚëÌQ¸Æå1Aµ5Qçy³VØHPÿ®£N+µ+i²~3m%oDV9wZŸexУ=ªÎã“ãƒ/T[‡¿U·‚fŠåó¢Íi)]}?â‡Ç¼4‡CÉâ«÷åÃÆ1¶ µŽÐ•°þl=-É1 õ÷TŽÜë‚åÀçÄm†…O DÛåè0hç(ÆE‘«{>˜ºâ7ÉÙ1Ã’,Úæs]=²@|±í†9zô_Ì|OnVÇæÛ1^)w ò·Ê/iÀb<$ ít²>ãQ)!,̲×jN–ú¼ t^+YPê=Q©Ú§­j~‰:£.r[KûÒLÿe¬57æö¸Ì‹B=NsÒÄU)èÁ7a$ÞT·eJH™È”<;F¤Â¡éÕ³Y¤¨k²¥¯Ré_rÈ]kÖx<‹&Ìx³Bë:!=eleÈÉHÊ+ñu ë´ ¸æ–¥’…ã-q„“õÄ…´8[)]#¯!ÍÒŠ¢=f$€r½û;×ìð; \ÒZ¿ƒúy(Œ åwʵïÆëxvºR4hq'j8†[ #M.ûÆNVž–A§ð­*Ý7æ¹ `qU´c¦8z‹¿)EB©½^˾æ–ÖbÇ%ª´îÛtîéÕ^c§kžšéCݲÃcâõ=A^͇¤û9Qó¨ò’DoŠý9 NÈX9?2V¬õê…„C:AÕ©ª©áh¥R-Ä¥\CO‹ŽãhF\îâ!›ó´ì6£Á0ÅO;ûZ©6j|$Fxi¨X“\¡>@”ÑRˆbsÆ×ª Ôs#$m­-Yh}(_áõÃê®ôa.%Ì6™ ݬ<¶rGk›ü˜÷gŒ%ÛDHÕ)>¨yÃ>×L1Âà ъÍÍÈQ9a;K^r˜ّʧ›Œ'†‹@—¹A )Öá4¡9´J÷@°;Ew¤tašeTl*8{ÎZìñ„9«ì\Ò„E›ï8Œ,Øuë?ç2b”ûyàÞVV¨…EºtW³Êãр햔†Ì"%b±\o—™0ã[*g§Óšc¥ Gs!x|~.nþ¾ÀÖBèoÒ(®æ„Q¬ ÆáûVÕàB“!~C-¬˜á}ŒôX6”Qƒu£fKQD*±®93S·BˆÓTk ¥©½‰[!‡ÝÆ¿;ÄHÑJ([°!r_98•Á©ÈªFfb†8>3"û·æ·äøtUNÈ!oÅÊò¥ÂìM>í9õº‚åaqŸصWK•ÑÔ~Qq› FNlC7 r 4"£, MÂ>ó̰•›½R¬·S½r¤œÔ¼S(€‰èõCÝÕøƒ ±¾W6—ì×\äçˆsŽTžTý™œ"Ì"V#«£Ð§Û~Üîï-IãÏB­+ø’I‚gÃåŸq.`b<@ æz’èATç!DÒn–ˆ—ÎïK* 2‚y|µ^êÔg•'G» Ö<º ušç.sõšÕC‚â\™+é¦dtbí~šó Äfv".ò©, |14 %¡Ú5¢[ß+$ZŽÃ ÁßåÜÌ*3áöù{3b[[Ñó ׸øŸ,·ÏŒ‡£°´†•µÕå„c#+Ú#©ÁÐîÏ­ö[‚û3ñŒq¥ÌÛ'„O” D¥*Þ¨¡™9ŠrP·!ÂJHå©T@/„í÷ u¤6oœç®œ<Û`2GÓî®EÆ[×n?4TXVÉÍ ýKg¥¾‚–˜k]ÈðL¦®É×|Ôƒ×B?Œ«À‘¡$¥xùÜE0ø~™ÀÎVó@ZK®W±ºnÆ (Ü0ù¦FŽŒÌ; J¬Íwqø,1gü*&‚ÆÙ2Z{?z„MjñžJ8\ÆÀBžoÕ!Ý5\Ó¤ Þñ‚TAÑ¡iÉÖX!‘¥ÛýUˆºwÙ a_ûVu Ôú‘)¡k¬IsZaIV•€ÂtI‘G‘AZÌE“ÿ+]} û"5kÚÓ´Q¿§që:îa~8Xdž{‚Ò.ïsÖ… I†Î¬çšÝÇÐüÂù„~>× ±·(‹53sñ)¨¯ë—L™±ÙÜ·‚KLÆF¾¨DªKˆbaЉûØB IDATã%›¹“t¡«1Ü}ø…f¡ãºÄ÷Ä%›¼êÁÉ~hKÓçÍ$Û¨á%‰Û µSj: )ë.„Š5É'PO¸6–hüÆòfUJ÷20e´I‘_<¡ŠBaheè—€FœÔˆ4†Ž`‰ËMÒ¹°‡Ãßÿô>Ø=”3@ú¨È<\Õø/ ¡B,uX‹„<šê«é4çàË#QÞæJýDÊÚÓ»a펹.Úø¸VWò%®–MðkcH¸w‹:³ž¼q‚ SShp„Ì›á|Å’¤j¬xáÙܾ?sÙÞ‡ÌåcFd¥¶J•;Ëæ\ÛH_ú9§dÎÐr€ÌqU˜ízüj¶ÅŠºgöóv |vä*ˆ°hùPƒ¯—öñ°ƒóÚÔN=X4 Òø*4 g<èjå8ê[«¹œ¾Ú¶W¶J¥KvQŠX¾SxvV)¼ÆWd…ä™ÇÇ9дñ4˜Qº&•yÏ%KCc4ŽH1Ë”0Tê·&ÇŠþ º°ÎáVP­ú€aœ.ŒîÝt‘iéÔqˆø 0L{ØÈa# XªŒ ߣ~WPrÙ0£Œv¦Ó¹á\n‹z¹þ%y×ÑY†xæp{ÞhÊbŨӯ€6{"YÖ4iõô„ÒMófü›‹8¯Äj˜úerˆàaVóŠ[w8ßDÃsQÙg)<,jØúì]lõ­l¹¯æÙÞ/&¸"gF(o(Åöƒ"ó†eÎmÕLåŸA,Ú+ÃÍxÓdhf^„rF‹ÒàÞ<°Ï|GˆßDý ãÐ(ñ¹’Èã5FSg'0@,£Lå^‘æŒ T-¹ÊeAÐ Äd|%ލŸãçÕ×ÖÌm S8äó¼Qó°ùË cE G$iQàv”=.¤Æ*Ÿù˜©ú¿ë 3 ” !ya¦JW¸ÄÖF&±|-ÄXL¡0øçè(†ñüU7¯GsM'2}LŽ ÅÄÁÖ¼îOâñÑã¶kxJ’O2c³"°Æ|V±=‡ó·<=TÎBÜñ4@œwk’9›ëSd¨‚"@6ê‡3µAJáåLü Ö¹SŸjÜSÕþÔ1ž,/bãÛ¡ö!mwO’=òëM}ùDìâчKÖî`‰9iÊ|hˆé¶]—r¶2‡¼c¦&d~“2¾•C•2%SÆÜÔɘHÔe ±%è‰&ÓÁ8õ€qr° IÕj2¨»˜*ý22¯‘ß·©äðÏâùç‚ñK͇4+UòÊT+bÆ*,hÃ.iPBxW],qqw.)Hi¾?¡¼èÍšð¼ØÆjRÔê}ñªÑܦ›Æ3·©6>'®ÕŠÌ^“){17á4†?a÷J,æëÍ"×TÉÃt4&Dúo2rA$sn+À±ë¨ ”+³ á9uõs85E$¸p]ÂlÔÎ@ÈO2=`ÉrÊÒÀGÈ(¼904õûß §O"L2Ƥ®ÖT©o”{ÓYs«Hµ³sÔ™âÏ4¦29×XŒâ¸.ò€•NŸ¶Ì$W윪/"2AäÕKÄù*¢<¤–±•Rñ¹4Hï:+CÙÀ\óïžÇÏ&ÓI­&ÙRï1µ+ÞŠ*u°$«ÁÉ\jf?”Ä9ä…¬DyÚCF U 6IŒOi¢˜»[Ú+¶ŸVÜðàÂXÞ—:ÁÒ¸ ¥P½ÊB³0 Þ]³tЇŽ9Åžï"VT÷¼^¬É›xÊŒäeó]óXI68ÎPI3ÅÕ‰¿jhÐñEÚFÕÿ®ƒ5!æXBÖnGäœÂOЇ0CB߸ûnaø)å¡1a ¡Fü„<Ð"õ,*&2Fµì”*¼±ºOk¸Ò @j6V„”U…½É!lcPÃ0hª®5ay@ý¬Ë!a‘+êGTÏYJŽPL‡;¡¦é£”å‡)Y&³+Ÿ±B,Fí>·ýU+…ìÛ~*J\ÌÉc2Õ]¸ßä §<ÈÍíNY¤¨ƒ²m8i¡¦aÅÞ §ù͈‚¦ÇErÿ-œST?˜!€« ã9A;Û,íDh¤8¥ß£Äëµd×Ä;c ý{u©”‰n'ë«¿(RµIHS·VN” ÉšôG]SÁ¥¼hu`=wã ?EÎi\0F?âñu?—ÜÛE¡„™T¤N/díl¾šOºe\D“l&­µ.¥E\ k‰èfƒ©Üî{ÇØßZFÍ‘m^—[²—*åªÞWÅ2Õüi¬ŽÃ!åê\SÕ 7©‘øË:²h€éÑ3!ZPóûA`$Í“C§îÙ«ñZ\ßEPûlUpˆÊÊ ¾ÀòªTb±J•çñmMÕ<Î@[™iZøž¸éB]„ÓŽ z„šFÉLÓ²:¦¸´YÈ>”c®óDzE_Ï—m,œà@MÇJýä“;aʼnäEoÀîãËP‰S9±ºÙQ_‡cÑÜ6*é“H¬~Èá|é÷ê\Z!jb'ëÏrîÔª’Ä®EjÀeÿÜYqg?IO.IÍ/×dVáK±ž˜ï4†îØxê "2±G-iæ£XÜÈeÕ& BêŸÉS}yŠ”›ºÝ>Mt§$p+Ù]U—pwIJaX–Šœ¸‚˱*Í@3-hC`A§¡11zä¹¼÷¥rÚõg{˜´q1˵[›SI¥‡&W´ÍÊžD§Ö5’ÎCSþ›Žá)b b£Á«GónæÚ_é9gýÏ4iK8aG;–kùhB¨” n ߌ®'û–IÓÈf%äLfŒƒ–9ËŠÒéo5À wœß«IÝà#£Ãæ‚ 4¹kŽ”@61+I˜ƒ¯Ël½ú…F³“n§ój¨·i˜ •Ž“Žžå®Æ-ÿGëJ:1­¯íeã'KH¡p{tÔ(åa3#̲\6Á±ºª“b˜´¸Vx&OÆPv((Ä^{ÖeXðY=´— b'9V”T!- 8;ü+Z…¦¡VÏ{ßQ²ú!¶GtW¾—’w)è]¬"¦ÿ½â§é¨3\ö¨-8çÀ:hè(± q>îô<^´B‹"¯ßÙ:jÀÕï9BŒ…’aûSß Ayš#A-4È×=jzÎËS=Ú"C¨VÞ‰ª¶z¹ ©ƒTa<.„w42îe§ç6+A7m|ð&Ø®ªTCÁÞûÅâÂ)hXñþ†s&j'ÉÈøÉdwJD)œ§ù^j¹THTŠŠ‰‚ÄÍù‚øÄct(r€s€ /CSr® :t£×1BžšÁ\1ñ+ØsFÚõÐCä=,Œˆ¹H¾:‚vj„6`›‘2ãì<³\±B3Mú‚ÓrbI°l,4_/åÜül#¤–kΡý$4ŽepÛ#E–‰‡™íݯŒ”öü[ÜFÕ×b*XI`VbAáÝ4æ„õÝEÇífH!¸^Ð n¼¥3ÑËÙáCXÄ@ðÐøzµêrV#Y-™:Ü•².”+Ä)\ kÊœ˜,ãÚ´QÚȳ…¨J–T³¹ã /]Ò8fF5až@í©‚ñmqB®Sü€™Ê7WÉ{ùýôœV\5S#åpD˨Ís~Ȥø½Tœ2¢¤ÞÜd7C%ÑF9…fÀV W²¼Š–'š’Û¿ªö9gD¤þ °ä¢W(ñtW>±a÷ˆ #À3?…³×tÃL;£o®å%~SlK”ü̆¼ïh'ëç(å+ÔÈ.‘˜ o³ü¸Ú0‹'ë%ÕhLkÝóó×)¢”4\ˆDJ…2_3ÓŒyHÚ®ÉXÒO5Býžñ? ‰úÍ ·A9ÂCÐÔÚÆSšÔî¥*«¤›Ù7M¾Þñ ñÊe“½1SÍê(¹f7ÐNŸ3º™X !^ilh9Í’ZÈ–ëˆ\3ÿ°.Ò\msñS”à}iš´ægÝF^f^_›ûáPäÉ)ÇO5µJeýƒ3[×Åž¹£Í—Hí¾rAÑK1avç˜l×\×H§-[ú» ‚ÌQ:¨˜~&…¤q|‰¸Ð±ìlÊ®‡„ù-NWŽñ•ÑXܹk\ƒï{¨Èƒ„_Škª¡“â{"Ò[{B¸îELàf/«kP1 QÄi^vsD5í¦ÉžRòjfbÌÕrçOé(¼Qdi¨¸Ç‹hB°’r¥nh°éò!†S«Ñy )#L‚wsþðŠïÆCòݨ±äã,_‘qÞËÐq÷ÝÏ{rž¦ߨõFÇ/è¤8@úþÕ^-¢\²À×ñ^ÊmÒb>ÄÜ™ƒ )/+ü«Sw˜{}£ü¼}RÈ¡îÎÑMSôÄñzÉó€@r¯¶ñ¬¼¹PôögQÕ'=§ÎÙ¯1Ry¨oÛ4ݶÔúP³Lº¡î·æÀ2ƒ£Í»·{¬—•$;ÐZWnÆ“‘Å ¦ã–Ä¿g¥&¯†™˜…d+XÈÌý2r Îvu{— 9T ª¾9ñIn¬Óçï€dwðÅp<Üó$Ò‘¨Å'¡ø- wÁƒ.ÁámXüƒžuâFIø„2–««JlŸhÙÊÈXÜRj•«Ð…=Cg³13]h8§¶á–5#4!E-zt yT2âàûÆnŠÐ]RËÁžÞ¤Øx¹eéârŠ9„n UnóvœK4ãC‰ÂVÍ“‹»Fg, ÈÄe´ß‡jù‚ljy@æ® qÎùŠ+W¬ˆ$?§p]ûmPKVÒÝZiõ~0ΦɱñWÿªPwØBJüºQ”~JV{ sCÚQ¢Ž²g2ÚÆ|v™‰mBÑ·ÚpLüFú¹áj l¤äû:—½»¿3G—Y%ö{“2‚R¸ú ‰§Žwì°fG‹!?­ÕE ¤p³8ºøá>iÓÅ1×`NBÕ{b8IQ'I3´•\MrçìyuÒƒî‘ð±jO*‰3\‚¯çi»Ð“&èèq[óãòÑr)Ì9(/Õôîø‘æ1ÃÒ!êº.rÄB|¤„£#T˜—W£CQò8û™˜ŽPoŸ‡ÂVK—Ù•ÞΜhŸÑżæbÕªK®éíÅ?ã’V5$Ú!³¡ÿê"Ê#  W5·n²®;Ðhd»²¶ÎGÏUMïufSLj=†z±ù#Pvº¨{¤û7!°Ìß&#Cîþ|Ô°cnU™U èÑ<1û|D+•C\® ÉØØuXF¸Õ=[ÌÑÐk™%Ó¸(Úuº?J†ÏÇžÞ¯ËtW4>¨Î¸)a™Å;²c…òDj֟κ‘¾I"E úÓ¶uýR|kÌ‘V|4a3u4^Y»¢·ŠåHm¿“1Ê3. ÷Ó„½ôH '—šJì5˜ç=.±h?ªHḨ«h"'~ ½Ž|$· ÛÊ¡»Í°$mꬮÿv\Ku¿çŒ æå¾)jÃ'¹†˜tRÜ»ûvVÒ½~é¶ücï†kš]·9uêgcAˆõ­[$J'¼ðs‚ÞôÅ[„¡'J³õ…Œ ÆŒ"‡T,2þYã‹g!JM»+jmÍ¢ÔLq`WŸò|>S'ǪIËVX´Y…{dµ1jŒRR‚ŽC”)ºv´ÇoŒf£­7eJdÖœs¯—¥FpÈ©i Zá ʬº” týŒ>•àj8½€t{â{ƽø³q`tÜšßÈ »÷TY˜¦ëÀd¢ª‡®ŒÅjX«…K¡!keœ¦ÆÞ{ØËt™aÂ2bî{%Útõyèos¦Ý’šB®Êò90Çå.*£V®TòÊÿèÙvÈH(½3 A@J&žcù­ôˆ1’!^ª¾» ØÁ}S¤w^:H(ô =¾½«ñNdÍñ'i*z6ï¥âðÖ—žÎ•þ:ÄìŽcqKýŸ!LŽw¦ïHì­ó8ÈP^²ÿ#Ço+p5¹z]ýáìó=®ˆ•4L™{oçv³¿_ÿrŽÄ`È’·½¶±®/Ûµ<}ã> õÐÕŸyzeêô5ÍiÀájT*vg2iöÜXKƒ½qK(’w›†^‡¿Òi2D?-3o%ªqXÄ•¹\Îé¼G-¾Œl<ÐGÒ‰ì0¥Ž%P ™6(Š7I¹ÆŒøaéÖÒ´qøis(†p׆pÌ~DG1A²%ñ¶–ŽÈR‘óÎ^†Î¤D@„yÿ(q6Œ3;Ì•À®º…ÚÌÚ•çfH+®}ìõK÷*òŒ“_Gê>CÇ“…“¸aN…ún©™Ñïó.¼Û‡º©ºB@!?óñÙ!çzqÝ(Ž:-$ˆØ£š½(JÃ(î\†T„p}vÒ;rEƸÎग़bÊÁxM0YýŒjû¹*ü²KçЀžÁ‰±Š$©N£â.ÁãÝŒeÁ /´fIµ ±Ñ»2Ή)ÐLÍ鉎›—.ÚϹӣM!䟽OBÕËí¬¤ôàŒØ—†s O7Æ‘ún£Ëh¯‰‘>j‘§jyÞDþ®'¬`¹%îÂYmòr‚1§úÕ5HQ¶µ‚­äü*a6¤éjØ7‰­}j8NGª™M×V¨+z,ÑsF-sH覡Á{B`ËXùþœœãMTB¡!Þ!ü±!üÖŠôëtsƼ³š(÷¬BF›O&QóR¢?Ëâº"©èD}*ñ7ŒïfšÆB–¼´Èöÿkò%cŠ.§ˆ,ïõ¿Ø'…&çöâjßË ³BÝ&Lb8y#ˆ=Øä 5dHîD§4™^±!Ï; IDAT.µlªsµ@bø‹7(ñõ4ʦ(Gz«ÇWKj÷±R,³Â.˜n_‘Ñëz“}M1ÚHÀ!õÇAê«ÑÒø¾Pɪÿ˜“ée‘r; ´±úT•Ú³\ïd\¥0óÄàro‹ XÃP•~JF˜.¿ñRî}7J0³DLèþ]ÒR¸† šTÒý’¿g›ï ¶\¹&9þsùÀr b_J°Zv/&m®À&úR ¥=5ÿwøt„¬Öê+ŠÛܶ3:<†-ªú‹C55d ÄË•5ß7‹_aQçÖ‚w¶S0â}#némg mÐ+£\™²r¯àMwú8qïŠþfùþùx"”W:{XIÓæ¤—ɽáéÝíc/*/%úb_ùe!˜çOÈá3¼ žƒhÞJ©%J 剙â‡4 Å(¬x ´k1×1{!ÞÛšj*Ä«§ˆ×wN§¡:HYɸAç)‘ÕðÊÁçjµßDZu°B©…±Õ¾PÛ,œoG™ûc•…”=DF ¨ä±9Úöi°-\]f|'óüõÙSÌ uüCÐ÷¯rÃm¢1'*!*EØ]ioß—QËÕ^£ƒT’/âÁ;)ÃNäØTLÀ –aŸüÒ,’ê_Û;ê%œ:Š5F‘¡Ï=Êp"öÎ.ÓMÔzÝbù`·$ÚÝŸçzOFç ‘áÞ95ȵ‡-Þ‰ŽrmÔ΃$ùÊ‹–uËèSHìXX•gõûS‚Óú.qóÍ|<®( Õé9½ñêu¯Ãíàñ ±3gðþCo/–í捻|@ÉÅg¯Ä¢Ÿ|&¦çxxÙ_ÆCPè^yÔ®EàGó{°Ð¼¥*QÖ¾˜¸h°™nŠ ‘66¥î sRG®¸öó0ùAJäswX‡öHÖd銒d#óŠ<7Šåšq ø”p±gÞbàWêidDûnÆ8o7ŒñUó56)1g^?±ècŸ®ÒÑ÷¹Fã¥¨Ðæ êmâ¼)#uAÇ…®ƒŒ˜,ÙΔB’íL‘Y«5ÞUL¨F<•'ÝEr\õ¼#£;†IR‰œ±FtÞVädñ°N“.,ª@‹æÖ¸ÉZ*µÞ^H.¤I}aá†iÝ#÷.&ͺhJ!~I&žærqNœƒdmìô‘µ«S–QcÌžÑnÇ)kÎ<*ŽRM\NýÞŽ7E׿hŽŠŽ*éf%¦‚áÌùEÅ™@{uŽQó¼èŸ»I¼—›š¤­ü´»Acb„OÕ{zf¤sT#JéK@ú¼­R9::rÀ#kÂT1N2׈bÐý©Æ!|ˆ¬†«@_û_p¨RÖër`ß4åvÁ‹±aϵq‡Sürš«ÆR@· AqB—Õ(¡pšÞî 92{Ò-B<›4aîß5KÉxÒ|$•Û˜Ò±¾_û]Ѱ uÿF8ˆñ­90J¾å%¼IZ5¬1×ýüh®„)Vê"c=€ëCÃIi:€&'Ô¹ÖÎé¹:vV„Œ5…CZž)Uù{åKöô9ßE´¿)c˜> ¶ƒ¶ÌË@*4W0šdf¼aFd-Ós ô¨G“¤+ZaØzÃHôÂCÎÆèj*åõQ䆵‚ÕÀT¡‚9ª0º™¾` D# ¹XÓ¶a—Î:)b:Á-Êv;!…››=…&:Ç‹0ÆQ…¹b†ÆÅÇÓëÁ È“Y3f%.ÿ˜¥·Œ1Ò£D˜OH,1I™‡Q2€:>bÔ^Uxe,U!”|½x)©mÓO9¤ 9dÃáhƒ)ðÝä BnÖø•2^ Ø=TîÞNX‡!9|.^x\‚#‹ˆÛäPZþvÈ8²¹oä¦î„¨tߣ°„^ŸªLÁ@‹2RÞÚeŠmÛÊ'I™!Ýfv”óÑ£9ûðÂ#Ó¨.JÊAh¨áYûõ•²¾ŒS£ u‡Š^ãή‰è Œã¥Á9ó”¹µ9\2V¥Ï¤Þ[ØÝÈ|õZÛÜhŒéF\ÿiRäÆ5\”R1EuÔ¨"—ßü€™`|¶Ä`²‰ùÂKÌŽú‘¦U½š^ñÊ",ò CìJzT®—y.[îÿ³ ME2—>§ i¤ŸJ”ÓYµÊP;)Ùf©°QŒW²ÒÜ´ûâžg+wW:öK¢Ó5oQ™Ë|•”M‡¬¡M‰ònPÊËe†–±ÃSÂ%ºƒ§ó@êB¨a›£‰ª?Kš´Àúš7¦4©A‘)oSBE•PäK`È¿HíäÇ{"3µ?› ÚmÖ ’) (ž’X7׺ç©ìб‚©HÅH¬ïãC8ë° –Sq,ï‹•¦ir‡íÛ†CÎ5‡[Ž–ý¼ð L%5g¥ã™†K9fxð ÛPÑMy*tO–°ÏðTgSô6¼ËQ€JÆ`„úÅÇ+Ý™Y}‹Æ,q8Õ*ðhÄøØ»¢-2Õ/è3˨gƒ ")ºÿü‰–vúýħ3…ø¢¨®ÜÐp•ånß•&Û¦Ntæ÷r}ã*¸ºÂ­Þ/)2%ïCÜf)ÆW9°}hk©¯ôdY.gIx†L,s¶%\VYþC¶{rQV–EE¨­·ñãy"w}¿4Ø6–‡†H¨‘ðy ¤*ˆ^¢z<ñÏ¢ä"‰·À’ŽoÎ̃Ø$Ý4›usƒ6¹æ›Á—îç7ãAÁë÷õHá2ÐJEjßJh*(jœJ_Iл¿ßtGEH8‡r“ fé€gqñ¨¾Üé5·' ­Síï•“i³aëB{,Q˜> Îå^<ðsÙ˜ˆ²M}à¡›ðýœ¢ FÚtP”ˆ¢G=hìÅñÒ€ _m=ñ؋ڗɜ} 4ÒfýÌÕÉÐZ”E#fêd —y“^ìëˆN`Æo*OQ ˆþ½aÖ!dÏx¤oëZOt3„™©ÍXɬ s%¦ÃêM‹eÕÐnºþÑ*Ç[tÕ&¿+þ²ÜÐéãZ˲jŸù\Aš)‚:!2Ú1½ž_$áNðp¦RïCq±ÄËÈ¡˜Ï¦ã²m°¨Øe3@p{A5Þ̶Ҹ<MPÎùìŠÌ çéCù™H%`]ËlhU½C”eLÅÄSÁ’£Ø.æÕ+fÙâW¬¸(‡,I8Æ;f†V)°lüÍåAÕã Ѿ۲Òr(¿ âjb3Íb{¸B-ÿ‰b|D¸Ñ“úÀ ÜB›K¤Y'ʂنd£ù¯ ”)NG:,üTÛ(*eаIM¾•äg1뇜QšeÍh.£»&»)t+i*â£d³ÔÔdÿ ƒ5Ë=ݼ‚:·Îö+³ˆáRÚxz?…·\G!—µa$'zP. &´22mT2ŽÄc¦y‘a£@‡â3$ ÍF5p.† ƒ˜Œ¡P£k%3-I:UE€éS4#± jˆÏ3I•ÿšq¨‰í|Cš"uç¿¶Y™)ùTÝ…–r&Ä42•¥;Wn—þl¬†…Xô³Z 7Â%SIªÙ!H§¡~Gs .wkiòEcøà¦ÄD(w*³Ñ7å$F7t4.‹§NA~¹zTæ3Y{%ÔgôQ^]s'KB½xµ¤úeÕ?S~Šîø@~(ÏÇ3‡šx+ŽÍ}›„£ìZ.—Ù‘ˆèׯÆùô<‘#›^Whˆé …Ts¿¢ü›—«› KжNòXTs0»ëY®H‚:3®ƒ4I8–hå30±HµbÕRIÀŠ ´aOwÏhÞ‚†dYÂðÿÓÞÙþìš^e}­kï™vèŒÚªUbŒÒTE>ó/¢ð/~ÿ‰~ ñ‹/ Z_‚ˆ^cR$†(h[_¬ R? ۙݙéžÙkùá>ϵ~Ǻ®gÏn…Hë}%O¦³»çyî羯ë<×¹ÖqüV©YH˜J⪗¼ßÃËUDÙhÍ9Yà tPòð% C;ÄÛž ºœrÃÆìÒM‡·ÈÖ•KÝÿ)9 }Úz曳‹@ „O ¬ÑΑOj(`JT{-_ÀΞ*阈!@øÖB0¡‡X{ŠÖID¸hû·˜2ÏŒ˜“6{3œì›j©‚žK(îa…n!³¬ºÀ;+äø–60ܲÀy¤ŽŽêª™:ëtfv‘ •kƲ­&D89ÜsèRù¶6®ï‘æDÙ<@@ØÝE*`¦w£#Ð&.,pÑŠºwÒ•’&ì& 瞣ãiA’f‚_¯ÅÞÕ•D‚Yå-ß}Xᣊâêöx*.âד֡œ4±6 “Ný}‹Dƒà„¡e#<æ¨ >+3CÔ=å#p7O|Ȧt“M=˜µ›Ï!Ve±µ;eûý¶AÖ-å¾Þš±ÀÆZ\šÑH,âNiÎõøhÔEpbíÈäÖGYß/ÃÈvû{qêú*»F]À¶¸O¶£s¹âàÿÜBAÓŒ:̄ϡ÷‰Ã–šIA|ky£³Ï¨GË ÿ9éIy?p (ùtº¦ê_ÌFí6»o<7rý€ý°sR8([œutê-R‡88[ìTª£Jd&tBí&FÝX±DP-€Œ ÛdÐ-RMC:õZB8lÃEÔøóÎXÆ .g/ž+aYRs£ŒKÏ1ZÙšÔç·°.œÊëûÈ„lŽÃ @c%sÒê•ãæ×¡¾GÒ5ÝT3; ïgÐö)-ÐJð¦v¹ ¢°Èã„6…Ýpˆ-«ï‰¾|( ìՋ C—q7dm"µÝr4öÐ!Ñý“ܯö4,ª£ElgKK'EÊ 9ófZ®ßlñ‡)œ±õ->Ff^Bh‡YH#GNg‘+ØÍ€ücÈ©ÁXCmú.®²ÝŽtvÅÑQ &FN½àm¾éXÌéÝ!‰c”±tŽ:Ú ò-\OŒ$ˆÜ*CöÊ…ƒ¯Ô¡ªeÇaS¦çÅ©ßqFÐ]ã%z®¡ÙJ;Þ+„šìܤ¼´‘Ð=¨î[{„tÅ›®Î­ÁÀÁn¯ÿËE_ºËÛɶî4ÙäoÅìäÿN§×¥u³#„&cšT˜e\=ˆYªÎ–eŠõµUã¸ã]º+Þ'Þ,<‚w<…7G«Oe1:Ù;œö¶ö¥ºÉ®Í>GÇœlï¿êÍó1†[6?û€á_¶z3H<Å,c™"²RÀU3ŽE¶„°]):çÿfê¤ hï\lyt~0@#دF7uÒæëlOuç˜i•šYªøȧ9BªèÔaµÊ þ³SF ¥=&¶î‹­ŽØÔIRóoTí¦ŒÆ$¨.Çi‚„ECJ²÷¦™pxì'UÜ8àd^'ø¦ïÆÕQ–Åîó©”ÙÑ=x\A™BhÃ)ÛL ЩN» ñ2î¾ØãÀç‘2íqÈ`aA—{¬ Û3o$ë"¶ƒ”àÄQôL°ÿ&lû‡5ŒË]¯ÑpHŸÄÉ¥ MF&”°uA“‘JP¤MY:}Mv^¼G†Õ ÅXº;Ž °5•öҞÝèËûàáÉ\ÐW“ä`†Ü1Oæ4+j‰IØiâ0°?3u7êÚÕï?16vIyÖîGææPdŽÔzwŠÌ]ù?Øë9@jz÷•Rо K›‚ïä¢1Q2µœy¸Ëé¦3ù"‡°k 9FÔ›@˜µY\&š?íärÜä63DÔ.kÆ@F8­éñ7ÖúÒ#š«VÓA?÷^ŸÌÕ¹›Ü¤#%¬˜ØŠGÏ: d9q38™ëñ‹Î’'`Q]Ÿ4”HTlÛì~Òp” JvÕámî<ÜNK>`T`p®hw$%U”L~F¢ë`ÊÃêfµcÅ<·çèCØÛ›åt;Aë,К‘Òá“Úz£Á÷Myd³Zn(fÚ…BN“‡çé¡ &eo­‹VœžøÌíÒùÄS# µÙ¢š,“W“ÔO 9…Ô°­a BÌ’ðO€(©“7¿ÈÁûX…å†ô‰SekOjrˆ5Sáu|§ÊMà#q•0A ´+"ÑÒ‚‡6É;Òº\Ø,Ìæ3Û©Ýä8fƒÕ„û"Ô”ÝÿØ'ÉÃUÐë†1ƒ’Œ«›è®‚dfÐ °[¶®`ÎÌ{,ly¿â´é©8;;㥊˜Y„u!%g+ê¹Þy‘"ïÔ¯¡£F×ø³©ž0 íuÖEÀMjt3ÿ¼A|­ÄOjÓ“À¹Š(˜ŸÍ4ûÔà‘ƒEZw8• clH,·ŽüÁ%:&»CÍ vÞ™ä 91œˆÔ}”u{O)JIÐûàŤ ~U6I±†Ì+C‡QÉÅA£’ë™D·)çÜ‹`›è(¶94ëÅÓÉXùvXçHº @I÷øb†:œ­ó@;ä õžó·¨—‚{+§;ÍÛ@‘-(¿‰ê­¬öD¤tsÄra0¹[bç 5¤ÙtäÜ6¯Éyh)ÕcÆZûÀd©½'à¤T8;æ"”Ç!ƒÇÞbÑëã0.VêZ®£L”{JB{+#„ÅÂȆ:¸[Ç+ÀÈó"f¤Ç[ÑlòÐÄâe۬΅¤§zã5|X?E¿…w)’*J¢Žº3rÏÚñÜzÓo0“ƒz°R¥¸­_}Ê®ÂÕ¢8ÝJL‹%;¡‚ëtßhh¶â¼Úö!)³û¿õGuç\­¡Ò–Gwc?ðÑÅ*¶ £Åi‹“Ñú¼ÂTã“(àÍ6˜²+x²W·Î±6Óa EÀdRd˜IcæF‰(‰Ð¹ø€p%uCÒ&6Ø^ÇúAÍn^Ä’›ÍËrÚÒNçíÀ>—²ócN³gƒ9!!±ffùLˆ¶¶‚…ØÖÞP»Åô“l 5w¬ôZU£.œ3r@ ìŠÍURÂeT8"d—YµöŽc9®ª1úb‹‹}%gvŒ ÐF=dõv˜puœÚÁ é ¥-F8{]­L¸ÃÕá壃Ʈú%ªUn7âÔƒm‹p­¯[ä~$>;8ú¶‹êÈfÿ°#vê÷ÚØT¯´îk„žaÁ>Às”KG<Èqÿ©ñùa³ùØz5?i&µF¸êн¸æh} ÚîCÄgš’#ÏÇ…nê¤p|pÿô¥ ³¹IÕ®*Q.ÚnÑ(oÒß±ÝZ¤‹Ð¸Ó6Ëâø­Sl ZeøáÔú@§Ö¹ÉM=”Ýå⺚vôޱ‡ÿÏMô5§ÿM¤¦C‡_…gÝÍžczoÐɈ0anˆód)ô9¬“ˆ+Ì pSp"µr9“ÎÏ' ÄrD°"¥v…?ÙpÁIxYš]øÈ𹹄–…¤[…VãÕM; Àضü‹K ¢íÑ×fDѱˆ†îaŒó £ 6ß§Zò n$OÙŒ ä–#Ïh?Ò|{îÂ%eÅê· 5uxnÞ??…ŽÝ­ó:±xè&ñÜD%”ú‚-w¼dOÑtÐÝ(À€Nר‚Lý«S€gÍ]3œŸ%²J ªxv—´Nt÷s,÷HÐ9`g9=J\_øï^¦ — @‡‹W%|¯B:0\Ó{-“Vž_w„uJFZÒëaçgQB:mê–] —¢´M$V7I7¦Éø®t5}_]ì€4I&A½6¥h5‡níî#,“ÏÏ*ü¢ ¨¦B¹“‰Ú*“ËრâF0fŽ,¸IJŸ‡™/Ë…ÄÅdÏB—*»ñ©{c(?vÍ „^cò~Û¢ŒEI%O—©Â}T¥ÒfĨfÆŒâä&;2˜Îñ;>[…b½"×BÔw:±ÂIÐÅgȘ«Óv¹´¡•eÏ%ôRÅÇÔù` 8=ùóTq˜R é\’©@H¾ZÈNñ¢åHoFÊp&EgÙÄm̤ê,* ݈,7Õ"1¤,•ÇbÆk@Tr¤¡¸×îß@·¡ŒPjÅ4l­LˆºŸ‡e1éàqéð"V£Yãh%Ô]~ 1>s`t¬@œ•DköK]µS7]Vª5ÌìàæÛ1Ò?ÖGÑ|ì=Ã2À“D£ÖbL‡83êäâài®?ktåz–Ü]‡“ØÝN ¹×ãôÏÃDAúp³”@Àæ”D¹‰:pS»YÞhìI¢=…üN0ã il^.Dkº+8Á™§Žmš´´*ž£cèJpe’#ÓA⟃ËÓ 5]\ýD×ë3½¡4`Y.iE†BÊë ±"à}70,ýŽ"f3Šz4µ^r“n}dry\»”#p¶Þï ìw¤Sçxöd{héˆ{”³/}èú8övw\…ò6¢w:Þ† Ÿ›‡=rWŽ6ì¶ ‹WëªaõÐTVÈë칤ù aÞÌÓ5,µžÈ5²iEÅ­‘LZöŠŒ×"¢ ™ÁZÙºtþJ/œ¢´Í4yO{”‡˜]ß§ópQÉGÄéq3í1^å°Xcü…/'‹±±,¬B>+±`³ê˜«{Í; ¼¬É†L*×ßdœD@}·L(Ö lýCØ›æ;¤^'/w°^Ÿðn^v'7†™B{¬Ìg]Š3öìTãÛ,3Ùuã@eˆ‘3 7$Ä–›c’Ëf!Ýç-4'xÍÌg§‰âÏ¥ëóØâõNuŽ/%¹vAº»F ÓEÆ6§„V|è›ÐYvao}ʼsKãƒ6¨Xb×ýpdke’PŒ1Ù?W£!‡Ó N®¢¸Ö>q{Ø{Šë3’÷Gæäá%†U6Qh–¿c5œ‡Ü€è1î)ýþNç*ZµìF5¡ é!–èýñÙ)Y[bú¨\OÌ:€ÔÞ”¤R÷¾Y*Ôud»Ó„ nÖÚRÓ.=4Ûð9z˜Çô_w®Ü:6E:tÌPQ‚°3 “JÛ+ÁÖÎæ`6C¡è󨌠š׿{ÈÜׇUþoœÞ›übãæqˆIÛžŠ‘Ç|™ñäÍÝó«” §Á#» ïm†‰…0©2FFjŸA3³O:caÒ6&QÔüXóýaA,UøÀH“Ï#9˜š "­Ù”+!³µ¦¢î, á"û¦_ÅÄ IDATN4³NX=Êü{´»Æšî)vðühÄzeÏ«/Ò”iYÀ|L¡ñÅ,ò ëÛ¶;4a&ž´°íHÛás‡AHØdƈÏü:–†ª%ŠÆ9Э^‹À!!¾§Å¹8OÄìGw†zCw1ÒívûsuæÕÈ(0N>ƒ[ÍçøÅbÍ¡'©¸ K#A@zžÝq8'-£$OÇÇZ•Í Y¢TÚ]ë•#ÆÈßUÛšáâ¤Û†zY§‹p¶ºeû#pl7²Hè„<ÁR¥Þª-üŸÔì]´býà,¶ãlX™}Oê¡XvlÝ4Œ®dº-K@ñê©ï=èjÜ…íT0ý;)YÛÄH-Ê.A½e‹ÔkªL'ø>ý\{u®©€.òÅÃf/q:ÖÏwß}÷t¹ÔÀé¡É )×ÉfjàÜ´ïI²kŒ s-Ù)ÎYk`ƒiRîMÐÑ©„{!$0cÌÑ|ƒ¼~¾ÓÉ“=Nžàs0¦÷â…À¯>¤„¬Ùž'î“£³Ã%JŒ{ÛMÙ%FÏqÂoMJ敦À-B­«´I{½GM N††‰¦!UÇ‚Ÿ­ì›”bqÓ;t-Aw\‰ô3ƒ-ÇÄûœ©„ßìnJB¸¼[­JMÜëËe6Úî»}]5_¦1øt£"mÌâ[C‰ñ’¹A†BIìö·×ñ,i{6 ~+-­Ž~‚ÇÍT¦PYå}ª€Xke…”Kj˜ùQÂAçh²ÛàÕw%î†;ì™ãÂáŠ1ºs|ºKæ'—_¶uÚj¸£¼7éˆ Ãér2ì"8´Z £€©Ôƒ‹âÜžJÒe:=¸;6BM›`½ž©Œ¶c/L¸#áÖŃ–5±è‘†X™p™ˆ0€&'E›ˆÌ}_l¬ºwüƒÅ—ë=CA’Ö¶ee~sœN`.}”©|9Öàæðdø68§O™ÀÖsõôèÞÁ*šŽæù,û½„—Ýé§-?—Cª‹Ïv‡"=b½®SáÈTåvHš½[ßJ<Ž^ÿB2«è8ë¤ïîZ´[µî%wd™&ìX›NÌcO¦JlÄW­fAÐ’Ä-LÑHx>‹Ÿqã¸]èã0Mý2™ «©Æn.¾ŠôÁ}y*˜½»Xo½õ¦=P¸ÈMùø¿~æWüÿ‘G1BŒ‰Ç^ 37ÇN”C`—¨°8.òeMÂ*!ik³<6í+d†YÜ5Äšäæd–rz ¤Õe‚ÝÁ´]ìùz€CÀ‹n'ƒ3Çz9Œ¦–©²Ç왢MËÆÌ¸9ˆ57ÚÅ'âLePœ¨ËŽÑÚÎæ’¾’W÷¡9.¾&|¡Ž2<§·Øƒ½0F´ë¹7cwbª“&áw\Œ¯ô†×oë‡RhèÝtN»K‹AP'”ê¨yj–`Ï7Â!“ÍÀ.:ûÀN½›Ù3ÐÄ·N©G|αŸ1í»qd ‘ÞJ&”yôÅ“@\`ÝkOÀfX³¡hq HoEÔI®9PÝ™XâudUµƒ†:œ8Y‡“$Z0’ò…ÞÞ Cày8ÚŽÄk<^ j,òq@ÅŽS¨‰Ù<›Û’¯ õÓQ¦vãÆ2ʈ"æ’ý9¡³úÎÓ§ù«¿úÙ/Ž¢%.º1öø}Óïùç™ñíiî•}óTnmß!SK˜FÆ¢'`G~¬ tYæüì›r…`q®VdÔlÃF"y”:jᯠmÖ‚·ô%7Ø6|ds6ÉêVÉ´Í‘Y¦JÏù:3boSQÜr—LÐ*wû©ÉÇž¹fà¦ÉÒE±[ãhöhyµŽµùÈ ãd é’ d"¾´a\nµ]T±(œâÊC~–8¤Å 1±›Ò GD•pEÅÌp1$Ì}Šnêyîâ´–}¯Q¤jÌÇ`BÄHPRx»7VçÌJ…¹žÏÞ˜·Z(Q¬P·Æó³/]C‚™/ÚÆýŒ3qŽ*!p£1Áþ›k¢÷ûN\SMŠ¢Î…²²#g½¾Nè¾­£9FÝ,ؤMHا±Úž9˜*íÖæƒQ}2¾½§îy¦˜"°Dú«p!muÓ›oŸyôˆ{/º$› 4ÐtafÑ~h'²ñ]¸Å :ŠÖ£:w?4++S>s†×ÞŠç, '(|®C>ÿX©ì²»|«Æ×±ÎÉÖiý“†ÔÉ¿ìØ2OP2£JŠW|(Û)±{P™INÏ”æ¡m*;»§aI¢'LwÈþ}CØ>YõAht7ñ‰dñ,z÷Ö2îùŸÿÓ°gÏÞybMF¡E2ÔdoöÒÏþìÏ=•DJ±¬º º“Ðvöƒ‘€ÖDQÞJ¼{®TAë°±B‰g¢ÂÄqSNügÐà¥iCÌí®AjCܹ4Mƒ’8UìJ•ñÚF7kÛ¡ÚwÂÕlè ¤•åú{ËébÎ$½FÐò|7Tjä2vܨPCú°,ª/á¤i{Ú!¤† ÔN£0Øx}Ø]ù3@ÝŸýÖü¦}ºàÆÌŒ‘bá ¼!ï 5Î¥ä)X›HyÕüúÛ?Ûk¾AzÛÇÈÖÛÛ.,ܾg½èMžãêœC¨i“¼¬l¯Ûä蘇uÖýì!pÕQ ©ð_ \×ÂÄ=:J`om¥øTxÚéä=WVtÑöž—vlX×1žUœŠwèža;9µLr}ŽèZ¯o§„žYØm*p„úÙ%L€}&‡í6¹Ýzãv(܂փš’v‡: ™Á©d-¹‰c4Å'³Š$ÁQèój¦‘ ·ÛvjY@á®pgͬâ–çH?ŽõÌày#ÈFî¾Az+j¬FAér¤SwR#çîd;>”Ãí<žj®³ócO RJÒQ4{}Û3¯];è‚vÏ{V]‘>_ƒØ7³oÿsúžµHu,HR䥎 »›ƒÝ¨ØE.ï"Ô^…mÔ ÞA m1£Ì®j9SgÀhp\Â8w&mµÙÊeÚë3Æœ=pÊéÏ`ÏÏ7~¿t/É6¤jÓÄÆŸ¼ÝRÉ@ÕÔXtÑFˆsop;¹vå¡8ã Ý,²­áÑÖÿ&öV¡É¢[HÐSàN)L-½!7õ6ÌEŸRà5m‰šûCsäŒ àÏ÷ÙìèÎÃdÊcß„TÝQ”„¶Ï‘§£cuváAê~énvWªî¹è<<Å¡(á“¢ËK Úeöž›}v…I'ïû«Â}£¹¥Ñ¥†nhT„ Oªz.£º#fmĨ5ÚÛ9·7扪ƒ”õûÖ>(HŒå ¾²†Â†ð”ȳVÞgÄIØ]#TE<7ì2Lô­€ëðó²Ç^{ñJ¦ß®@E·è×]-§>iš•r„ؤbüvÂËb”¤Ìê³ÒìÅ)SÓ¬C)†Ööï(w ¢ì—×ßà.pèæ-l0{È*q–u9 ;ŠÁè¸òØ|]lBQHâpŒ{²|íK`õÎ wÁm“T½)¹fJvþ¼qV¿¨tçN§¾9*G`õ÷“Q™Žº'"å=ª‘”wšoïåÛ¿Ó†K´›XHEF‰$éZr¨û-–ËM9>)a³¾¤ëï'©Ât° ¸éäö÷ûxMaêL(u®ÏÚ-j4uâE¦R=£ S V,}Fôˆ.otTÇF ót‚õg³u^ál»BBtH½–ôJPΊýËè´Ã>÷é=JÌ‘Òíª h­·7›oaíF ëàLãs¿Ÿ®Y8@õ’†7Cƒ 3¥<©>R)¿²Ž®Nžƒ¶»G¸ßI¯-;{ÂNÏqsj&Cx¤ÛÚ_ö¸9È ¾Ý'>œE=v"íµÖü®¹Ö·Ìugâ>YÅ|XiÏ2o ¢HÓj,Ë£¾nߎ­ý,í× `l`í¾i£Ð áMÕ*1{Di†¢DËx²=™ê>ã°=jÏ‹[Q²ÖÇ@Mc¿·½»ìñéÝý8"Kâcÿo‡\À,õå¿ù¹ý£xyw|킦GHföèŸøÙ_3{ôZZø!sªs«Ç„êª|Oš“ZµŸ±Ú¬®A_‡Mq‘nŽÂGKŠB"‰,ðQ™› yÉNq­§‹þ™c|½µ%ôðüQK;‚¯eƒÞ6ÂD¨WÞù$ÉÙ*ÿ Qw,ëÞæ ŽÂ+Ìô|X-ùLÓ%ãz›MHæpŒÅ¬z®¼%·ÉÛ¦;s¿`wkÜOtК2åp ]TõÉÊ!¦êÔngŠ1~^]0]p‚â²Ý&unj zö&fÓiD§ TO)º¨¡¦¨fˇœÌ Ði²²Ua §6 åÙ!Ÿms7Q\õ8¦O\MHmá•¡»[tÈ{0ày(xÈ‘Q‰ò¹¼±á£Pt¦ècÛrÁ©©~,»cˆXˆ±¬Å4Zœû¶×‡8±æÿu¿¬±ùdY@C0@tή#&L¹!yê’Ý4SuH8­ âšøU[Êü—zp»òžÚ6…‡¨Ý 2Ã=¦Íãyð Sòy}†žCŸFÑÐpB‰eºå 3áš¡çÄÁèê3ÞÊN¸å;ƒmâ§÷[GScŠ.ow}ÎÄV{Áíßž={׿û»þ¾þúëo­"å­5&úür ýÆúúü+½½;1 †p3{í#ù“o~Ó7}øÏº³yíg§PÍítÖoðì˽±Z^—8±ýæØpôÁsãÆÍ¢ í80ÔvtžnOnV­7Pò0awˆ ]°€oC*â:'v€ÚªÍ®TJHVÿËÑs{ZÄiÅ«ì´èP¬óÕ$fânK0€]ƒÄ:r?¥‹°|µÀ‚v*'pÎÚ€ç¼~Ûè¶´Vewö0.}îÏÅS>¨‰bVËd9^ßpÂØVô›‚‘:L«13LRl-ø˜o£WÔJê¨ÝÚ šÌò³jð4HUÒ. =;OÓ‡Šeú¹+½8'"ïÄE–ûÓ6ë³]`£á€§B>{j‰â¨ìZ¨GÌQ:£%{ÚCËþM¨ûÔoÉ›‹5öïÑöh7>ÞÏ.ôäe•õuà&VWÉüaI}ËȜ⚟BŠöîL›¥¬Ã©ÏˆÓ Qøœþß“¸`HA‰.9™FíÁߎ»vZ–ËY+~Ÿë iPK˜þŽfÝiÑzš´5 h©d›íäÂøñ¡Uuh uä\¯ph\Ý  Ï¹\4 1<­¼À®h7þvø»ûû¿ðéOòÖª÷Î긼¹Š˜/,+õ“UØ|i/afùh¼ÿ™Ÿù—ÿí¥—^úÄ·ü©oý¯Ã¹_œ¼qÖIþJO[_ÐUÞÑv6ד½Üx¥·ñ§òȰÓýBa7*jtÒÏ]wŠGMrL¶¼ÂAUYð‘à/œpn§ª:íœËá²íTå^éȳ3%{ÎÀøð“-iÁÑ…_–ç”x10;Ôò¿+nï{•5"Ž#ÇȹøŸYBì¼IšS½~:ñšy‘Î+KÇ[è*÷Eàu‹°lÍìWáMÎïûžÎ«Pü|Þ¶ëCjvËÃ…w#¶O«€„ux/Y±Åwè½²HÌnBÈ!À‹ÄɽùŒ#IÏþÁ’4y³!|tœV}€7¡ ÈR`ŽÍ‡'ãÙ¢òN~O»èFºTs1wãŒÝþ·:2“­i Tq"¹q Í.Vk*©Ú{3Š ¯3ØýWU|@çѨþ¸]ß‘X#S)ËWá%ˆ^TÖ‰ÑÝvÓÜUh,;‘áÌ´<aÅä|î÷aÖŽUP,gÍᵆ—ǹŒŽî uâÄÉÁXV`‚ž"2ô©My¹ØÂý ÀïcJÆß¹jÖn¥_—»v­›GEœ»µ5»ÑóÙ£ˆã3ÇÚ,û†·Nö¥—Ùý³ýÂÇ?þ±|Q¼¼± —×W³ ˜§p!UÃríøÔ§>ùùW^yåß}ôô;}ŧ€¸ò“çéõÁ¸ eÝÆFúÁÊ)¸# 껸k ¼ê}B½yе¥¶W…þhá‚è[9:ˆ©v„»ë¨lÏ͇(MÝž&íðµÓH…‚(ýb¼¶ßƒ#EacK›ƒ3£ÛŠð(9ç QÜD` `Ë‹B›=’’zÄcÚ- ?[™áz»€.†—Þº7;ïS½Ï÷Í84%ƼµÉD±=vkßÃYóÝED¤EõXFŠkuxêž´óFïÝ-énBžõd†ôÛ§:‚Ô|Œq¤C:iWx–]‡,悲zfÌmD `ƒ÷ mL²HîÀÍc¢Ëë#¼ÜcO†'Âú‘}™f"ì09Ý›v>ø}Ž¿ ûßràt$t|KÑwôM'« ûù:tLÆn§›Ú»9¢IãZýЋÇg_:u¥]—]%Þ‡1·~’ÀA‡RGùÔš}œ>V5³œ5Í0éÉúêßú°Ê}ò‹ÉÕZäb3±Ž†eOÃa9oÑOèW†2jÊq1çtÓfDM <ì*ÏC†ù—_z)ÿÑ?üŸýþïÿ;? ÑîSt^ÞX…Ë.^ÞÄè¨40Æ#¼›\Ç'?ùï?÷Ú«ßð¹ß÷û?ø¡W¾îÕ®.âé b¬…³ê ÊuL26ÛôQ­‚0š«àþb³¡ Æ·*ÝCœ}rªÍÁß'W ãUbÒ8n½Qä{t¹F/â):2ÀéYcv6Í&o:,Ž$\b–}ú¡Ên½AYÓ‘jë.èòDQÉJ¬íÏ^scŠ eKq[‰‹ÛMt ±HI­¯_Fw—iÒ4òåRB[½×ê¿l.ÚFÕ¹ ¥5+hòmza¡íªkÀÄPîB(–!…¶fî™âAä£ó–$Ôk&À*0ÜòÍ·Þô¿ñ}ß÷ôŸþÈO®äÝUÀ¼ef_ÅË´Mƒ£ÍºõÏGföòô~ÀÌ~—™û{ÿWàÃð?z”™Ý'oU1Ó']ÔÜ~Ò8 Ír§·ð°q™Añ 3R]0¶þN·sq5D`>]3œ9%Ìf·Œ ÝìØÌîqò™ÅŸO†4:åÁ±¹Àå|3YT[±uâ ]4窔Ùþ™Užt8]hù¹ ÓAòq¦—ßö´ÕO/mVqØé»±%΀Ǚò ÖAèP¸q™uFwŽá”47·*Tæ9¼‘¦.‡3¢Û£ãf¬Œlô5‡î‚ehù0g¯…ÌŽº(öçÓˆo;ÒíRž¥ÂŸb±‘…Róa€äd³tÀÞ\¾ÛkúVcaZ/•@|̸zá´ÁÙ£eŸ¡Ppu!²VÅMËθ+/H5§Ýç½­ÉÃŒÁ6ÄÕé–GœH$(ŸÁ¶¦ÎÖC•*ÊOÕ±P3–â:tIŸ9PZXæ¹ê;ƒá¨òéJ"h’vuZ¶]IÎðÃ$Àm;rt,á"ÀvÁ)”cð0éeô3ÒÝJÆHd /ë5m Mb°íñ_@¡Ç-7nr=#Î'ú kõ1¦A@Ý‘>ÚâÝg6£Ó.º0Qļjf¯­"æ•oû¶oûÖïùž¿ø×?òÑo¶Gglþù3ÐJÖþzøìá¨x©¼šÙ(*ïÉûØOä1NR¦ÅsOh†n¹„TIÚ­ìýJu}¢'>ãdkÝrY'ýÊHÙmkiC™Ñ˜X¢uĆùÜ 0³m›rÎÎJ›€8wl N^ t9qŻȗ0/ñ8N›2Õ§Þ§T·ÓgþàZ¿E¤%Så€à ¡C˜´W,TpîðÄz><ôÊž8°+FÎC]ë4Ïÿó«þæ%ᢻڸúÿòb{ [úÜõÁø¿óó~÷ó†Ÿù¼ <ßãç?ï=yÞÏ~Þë~à¾xÏõÒ©þ¢?ê·ùÊL{ôèQÇá¿üKŸ±ýÐýø§?õÉ_{úô)3޶`÷íÕ]Ù¢ÝÏÃyô:œGïP¼û¼w×Qļ˜WÍìëÝýë3ó‘™}ý÷~ï_þî~èÃì£â#ßüÚ«¯Ù+¯|½ôÒKv<:TD*ó iâ_ÞìÊHÑŠr4ímr®dL3>q ’VÀ¼pzM"®y_=—[¤¿ÀÛð^δûu¿î× ,ï¾ó޽õö[öÆë¯Û/ÿÒö+¿ò™û ?ÿó¿ù™Ïü—_\Í]¸¼ ÁîÛ½1 v^ž®ÿ6æSùP³w/-MÌûW³GJ¯­¯W×ÿ¬¿óòúo­?;ð½^`¼_÷ë~ݯûu¿î×ïôºå=öò—Q´º.ïZÃê¶h÷ :0OÖŸ½9:/qõ3?ç…íjÉжá و߬. C×פ”Ü ˜ûu¿î×ýº_÷ëk·€Ù¶è™*ͺá-kËô2Û.=‹—Ëëñ{¼¸gãÏÒZ|³[@o­æýv9½ßº óغãÏ)Rqä~ݯûu¿î×ýº_¿C¯°ç+ÅË.`X¼°³ÿùöúÚÁ,^òË)`fƒô®J„|¨€yß*`væxÆìÞ¹_÷ë~ݯûu¿¾®|âÆFñÂîËÛøzë¢pyÇм|%EÝI;øñ%|½o|mÝÌ£QÀ/ð3ïEÌýº_÷ë~ݯûõÕW¼Ð£É ›»ˆÙ_O­íÔ,\Þ³xùr ÅÈ#1³¨yl:BzdghÞ½€¹_÷ë~ݯûu¿¾ö ˜-7™˜ýõ.þùîø»/ìür ˜ýOGs `™__N÷å~ݯûu¿î×ýº__ýÅÍì°y6¾fÇå…_iAáãëxÎ×,|î×ýº_÷ë~ݯûõµ]ÀL÷òüʯ´pù¿-`*fv§eŠvý·ðçݯûu¿î×ýº_÷ëwnsUÈÌ¢æ+*Z~« ˜«ïåvSp¿î×ýº_÷ë~ݯÿ? ™çýó·´èøù=ïÎýº_÷ë~ݯûõÕW üvýýûu¿î×ýº_÷ë~ݯ¯½ëÿÄÁiÎtdðIEND®B`‚ruby-gnome-ruby-gnome-c1ffe87/clutter-gstreamer/sample/2.0/video-player.rb000077500000000000000000000251701460266665500265730ustar00rootroot00000000000000#!/usr/bin/env ruby # # This sample code is a port of clutter-gst/examples/video-player.c. The # image files used in this sample code are copied from clutter-gst/examples. # They are licensed under the terms of the GNU Lesser General Public # License, version 2.1 or (at your option) later. # # The original header: # video-player.c - A simple video player with an OSD. # # Copyright (C) 2007,2008 OpenedHand # Copyright (C) 2013 Collabora # # Copyright (C) 2013-2014 Ruby-GNOME2 Project Team # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either # version 2.1 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 # Lesser General Public License for more details. # # You should have received a copy of the GNU Lesser 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 require "optparse" require "clutter-gst" ClutterGst.load_version = "2.0" SEEK_H = 14 SEEK_W = 440 GST_PLAY_FLAG_VIS = (1 << 3) class VideoApp attr_accessor :stage attr_accessor :vtexture attr_accessor :control, :control_bg, :control_label attr_accessor :control_play, :control_pause attr_accessor :control_seek1, :control_seek2, :control_seekbar attr_accessor :controls_showing, :paused, :mouse_in_window attr_accessor :controls_timeout def initialize @controls_showing = false @paused = false @mouse_in_window = false @controls_timeout = 0 end end opt_fullscreen = false opt_loop = false parser = OptionParser.new parser.on("-f", "--[no-]fullscreen", "Start the player in fullscreen", "(#{opt_fullscreen})") do |boolean| opt_fullscreen = boolean end parser.on("-l", "--[no-]loop", "Start the video again once reached EOS", "(#{opt_loop})") do |boolean| opt_loop = boolean end parser.parse! def controls_timeout_cb(app) app.controls_timeout = 0 show_controls(app, false) false end def actor_animate(actor, mode, duration, first_property, *args) actor.save_easing_state actor.easing_mode = mode actor.easing_duration = duration actor.set_property(first_property, args.first) end def show_controls(app, vis) return if app.control.nil? if vis == true && app.controls_showing == true if app.controls_timeout == 0 app.controls_timeout = GLib::Timeout.add_seconds(5) do controls_timeout_cb(app) end end return end if vis == true && app.controls_showing == false app.controls_showing = true app.stage.show_cursor actor_animate(app.control, :ease_out_quint, 250, "opacity", 224) return end if vis == false && app.controls_showing == true app.controls_showing = false if app.mouse_in_window app.stage.hide_cursor end actor_animate(app.control, :ease_out_quint, 250, "opacity", 0) return end end def toggle_pause_state(app) return if app.vtexture.nil? if app.paused app.vtexture.playing = true app.paused = false app.control_play.hide app.control_pause.show else app.vtexture.playing = false app.paused = true app.control_pause.hide app.control_play.show end end def position_controls(app, controls) stage_width, stage_height = app.stage.size bg_width, bg_height = app.control.size x = ((stage_width - bg_width) / 2).floor y = stage_height - bg_height - 28 controls.set_position(x, y) end def new_rectangle_with_color(color) actor = Clutter::Actor.new actor.background_color = color actor end stage_color = Clutter::Color.new(0, 0, 0, 0) control_color1 = Clutter::Color.new(73, 74, 77, 0xee) control_color2 = Clutter::Color.new(0xcc, 0xcc, 0xcc, 0xff) if ARGV.length < 1 puts "Usage: #{$0} [OPTIONS]