Update current version of litehtml. Fix a crash when document contains no fonts
[claws.git] / src / plugins / litehtml_viewer / litehtml / media_query.h
index 52c7f3f4f2f821bfb708a0b586bcdf4293af4a09..6a81bcb32ab9e426a19ec1a158523b1a71d74758 100644 (file)
@@ -1,74 +1,77 @@
-#pragma once\r
-\r
-namespace litehtml\r
-{\r
-       struct media_query_expression\r
-       {\r
-               typedef std::vector<media_query_expression>     vector;\r
-               media_feature   feature;\r
-               int                             val;\r
-               int                             val2;\r
-               bool                    check_as_bool;\r
-               \r
-               media_query_expression()\r
-               {\r
-                       check_as_bool   = false;\r
-                       feature                 = media_feature_none;\r
-                       val                             = 0;\r
-                       val2                    = 0;\r
-               }\r
-\r
-               bool check(const media_features& features) const;\r
-       };\r
-\r
-       class media_query\r
-       {\r
-       public:\r
-               typedef std::shared_ptr<media_query>    ptr;\r
-               typedef std::vector<media_query::ptr>   vector;\r
-       private:\r
-               media_query_expression::vector  m_expressions;\r
-               bool                                                    m_not;\r
-               media_type                                              m_media_type;\r
-       public:\r
-               media_query();\r
-               media_query(const media_query& val);\r
-\r
-               static media_query::ptr create_from_string(const tstring& str, const std::shared_ptr<document>& doc);\r
-               bool check(const media_features& features) const;\r
-       };\r
-\r
-       class media_query_list\r
-       {\r
-       public:\r
-               typedef std::shared_ptr<media_query_list>       ptr;\r
-               typedef std::vector<media_query_list::ptr>      vector;\r
-       private:\r
-               media_query::vector     m_queries;\r
-               bool                            m_is_used;\r
-       public:\r
-               media_query_list();\r
-               media_query_list(const media_query_list& val);\r
-\r
-               static media_query_list::ptr create_from_string(const tstring& str, const std::shared_ptr<document>& doc);\r
-               bool is_used() const;\r
-               bool apply_media_features(const media_features& features);      // returns true if the m_is_used changed\r
-       };\r
-\r
-       inline media_query_list::media_query_list(const media_query_list& val)\r
-       {\r
-               m_is_used       = val.m_is_used;\r
-               m_queries       = val.m_queries;\r
-       }\r
-\r
-       inline media_query_list::media_query_list()\r
-       {\r
-               m_is_used = false;\r
-       }\r
-\r
-       inline bool media_query_list::is_used() const\r
-       {\r
-               return m_is_used;\r
-       }\r
-\r
-}
\ No newline at end of file
+#ifndef LH_MEDIA_QUERY_H
+#define LH_MEDIA_QUERY_H
+
+namespace litehtml
+{
+       struct media_query_expression
+       {
+               typedef std::vector<media_query_expression>     vector;
+               media_feature   feature;
+               int                             val;
+               int                             val2;
+               bool                    check_as_bool;
+               
+               media_query_expression()
+               {
+                       check_as_bool   = false;
+                       feature                 = media_feature_none;
+                       val                             = 0;
+                       val2                    = 0;
+               }
+
+               bool check(const media_features& features) const;
+       };
+
+       class media_query
+       {
+       public:
+               typedef std::shared_ptr<media_query>    ptr;
+               typedef std::vector<media_query::ptr>   vector;
+       private:
+               media_query_expression::vector  m_expressions;
+               bool                                                    m_not;
+               media_type                                              m_media_type;
+       public:
+               media_query();
+               media_query(const media_query& val);
+
+               static media_query::ptr create_from_string(const tstring& str, const std::shared_ptr<document>& doc);
+               bool check(const media_features& features) const;
+       };
+
+       class media_query_list
+       {
+       public:
+               typedef std::shared_ptr<media_query_list>       ptr;
+               typedef std::vector<media_query_list::ptr>      vector;
+       private:
+               media_query::vector     m_queries;
+               bool                            m_is_used;
+       public:
+               media_query_list();
+               media_query_list(const media_query_list& val);
+
+               static media_query_list::ptr create_from_string(const tstring& str, const std::shared_ptr<document>& doc);
+               bool is_used() const;
+               bool apply_media_features(const media_features& features);      // returns true if the m_is_used changed
+       };
+
+       inline media_query_list::media_query_list(const media_query_list& val)
+       {
+               m_is_used       = val.m_is_used;
+               m_queries       = val.m_queries;
+       }
+
+       inline media_query_list::media_query_list()
+       {
+               m_is_used = false;
+       }
+
+       inline bool media_query_list::is_used() const
+       {
+               return m_is_used;
+       }
+
+}
+
+#endif  // LH_MEDIA_QUERY_H