// Generated by gmmproc 2.82.0 -- DO NOT MODIFY! #ifndef _GTKMM_CSSLOCATION_H #define _GTKMM_CSSLOCATION_H #include #include #include /* Copyright (C) 2019 The gtkmm Development 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, see . */ #include #include // std::size_t namespace Gtk { /** Presents a location in a file - or other source of data parsed by the CSS engine. * * The @a bytes and @a line_bytes offsets are meant to be used to * programmatically match data. The @a lines and @a line_chars offsets * can be used for printing the location in a file. * * Note that the @a lines parameter starts from 0 and is increased * whenever a CSS line break is encountered. (CSS defines the C character * sequences "\r\n", "\r", "\n" and "\f" as newlines.) * If your document uses different rules for line breaking, you might * run into problems here. * * @newin{3,96} */ class GTKMM_API CssLocation { public: #ifndef DOXYGEN_SHOULD_SKIP_THIS using CppObjectType = CssLocation; using BaseObjectType = GtkCssLocation; #endif /* DOXYGEN_SHOULD_SKIP_THIS */ private: public: CssLocation(); CssLocation(const GtkCssLocation* location); CssLocation(std::size_t bytes, std::size_t chars, std::size_t lines, std::size_t line_bytes, std::size_t line_chars); /** @returns Number of bytes parsed since the beginning. */ std::size_t get_bytes() const; void set_bytes(const std::size_t& value); /** @returns Number of characters parsed since the beginning. */ std::size_t get_chars() const; void set_chars(const std::size_t& value); /** @returns Number of full lines that have been parsed. * If you want to display this as a line number, you * need to add 1 to this. */ std::size_t get_lines() const; void set_lines(const std::size_t& value); /** @returns Number of bytes parsed since the last line break. */ std::size_t get_line_bytes() const; void set_line_bytes(const std::size_t& value); /** @returns Number of characters parsed since the last line break. */ std::size_t get_line_chars() const; void set_line_chars(const std::size_t& value); GtkCssLocation* gobj() { return &gobject_; } const GtkCssLocation* gobj() const { return &gobject_; } protected: GtkCssLocation gobject_; }; } // namespace Gtk namespace Glib { /** A Glib::wrap() method for this object. * * @param object The C instance. * @result A C++ instance that wraps a copy of this C instance. * * @relates Gtk::CssLocation */ GTKMM_API Gtk::CssLocation wrap(const GtkCssLocation* object); } // namespace Glib #endif /* _GTKMM_CSSLOCATION_H */