accessibility_structs.cc 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250
  1. // Copyright 2020 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #include "pdf/accessibility_structs.h"
  5. namespace chrome_pdf {
  6. bool AccessibilityDocInfo::operator==(const AccessibilityDocInfo& other) const {
  7. return page_count == other.page_count &&
  8. text_accessible == other.text_accessible &&
  9. text_copyable == other.text_copyable;
  10. }
  11. bool AccessibilityDocInfo::operator!=(const AccessibilityDocInfo& other) const {
  12. return !(*this == other);
  13. }
  14. AccessibilityTextStyleInfo::AccessibilityTextStyleInfo() = default;
  15. AccessibilityTextStyleInfo::AccessibilityTextStyleInfo(
  16. const std::string& font_name,
  17. int font_weight,
  18. AccessibilityTextRenderMode render_mode,
  19. float font_size,
  20. uint32_t fill_color,
  21. uint32_t stroke_color,
  22. bool is_italic,
  23. bool is_bold)
  24. : font_name(font_name),
  25. font_weight(font_weight),
  26. render_mode(render_mode),
  27. font_size(font_size),
  28. fill_color(fill_color),
  29. stroke_color(stroke_color),
  30. is_italic(is_italic),
  31. is_bold(is_bold) {}
  32. AccessibilityTextStyleInfo::AccessibilityTextStyleInfo(
  33. const AccessibilityTextStyleInfo& other) = default;
  34. AccessibilityTextStyleInfo::~AccessibilityTextStyleInfo() = default;
  35. AccessibilityTextRunInfo::AccessibilityTextRunInfo() = default;
  36. AccessibilityTextRunInfo::AccessibilityTextRunInfo(
  37. uint32_t len,
  38. const gfx::RectF& bounds,
  39. AccessibilityTextDirection direction,
  40. const AccessibilityTextStyleInfo& style)
  41. : len(len), bounds(bounds), direction(direction), style(style) {}
  42. AccessibilityTextRunInfo::AccessibilityTextRunInfo(
  43. const AccessibilityTextRunInfo& other) = default;
  44. AccessibilityTextRunInfo::~AccessibilityTextRunInfo() = default;
  45. AccessibilityLinkInfo::AccessibilityLinkInfo() = default;
  46. AccessibilityLinkInfo::AccessibilityLinkInfo(
  47. const std::string& url,
  48. uint32_t index_in_page,
  49. const gfx::RectF& bounds,
  50. const AccessibilityTextRunRangeInfo& text_range)
  51. : url(url),
  52. index_in_page(index_in_page),
  53. bounds(bounds),
  54. text_range(text_range) {}
  55. AccessibilityLinkInfo::AccessibilityLinkInfo(
  56. const AccessibilityLinkInfo& other) = default;
  57. AccessibilityLinkInfo::~AccessibilityLinkInfo() = default;
  58. AccessibilityImageInfo::AccessibilityImageInfo() = default;
  59. AccessibilityImageInfo::AccessibilityImageInfo(const std::string& alt_text,
  60. uint32_t text_run_index,
  61. const gfx::RectF& bounds,
  62. const SkBitmap& image_data)
  63. : alt_text(alt_text),
  64. text_run_index(text_run_index),
  65. bounds(bounds),
  66. image_data(image_data) {}
  67. AccessibilityImageInfo::AccessibilityImageInfo(
  68. const AccessibilityImageInfo& other) = default;
  69. AccessibilityImageInfo::~AccessibilityImageInfo() = default;
  70. AccessibilityHighlightInfo::AccessibilityHighlightInfo() = default;
  71. AccessibilityHighlightInfo::AccessibilityHighlightInfo(
  72. const std::string& note_text,
  73. uint32_t index_in_page,
  74. uint32_t color,
  75. const gfx::RectF& bounds,
  76. const AccessibilityTextRunRangeInfo& text_range)
  77. : note_text(note_text),
  78. index_in_page(index_in_page),
  79. color(color),
  80. bounds(bounds),
  81. text_range(text_range) {}
  82. AccessibilityHighlightInfo::AccessibilityHighlightInfo(
  83. const AccessibilityHighlightInfo& other) = default;
  84. AccessibilityHighlightInfo::~AccessibilityHighlightInfo() = default;
  85. AccessibilityTextFieldInfo::AccessibilityTextFieldInfo() = default;
  86. AccessibilityTextFieldInfo::AccessibilityTextFieldInfo(const std::string& name,
  87. const std::string& value,
  88. bool is_read_only,
  89. bool is_required,
  90. bool is_password,
  91. uint32_t index_in_page,
  92. uint32_t text_run_index,
  93. const gfx::RectF& bounds)
  94. : name(name),
  95. value(value),
  96. is_read_only(is_read_only),
  97. is_required(is_required),
  98. is_password(is_password),
  99. index_in_page(index_in_page),
  100. text_run_index(text_run_index),
  101. bounds(bounds) {}
  102. AccessibilityTextFieldInfo::AccessibilityTextFieldInfo(
  103. const AccessibilityTextFieldInfo& other) = default;
  104. AccessibilityTextFieldInfo::~AccessibilityTextFieldInfo() = default;
  105. AccessibilityChoiceFieldInfo::AccessibilityChoiceFieldInfo() = default;
  106. AccessibilityChoiceFieldInfo::AccessibilityChoiceFieldInfo(
  107. const std::string& name,
  108. const std::vector<AccessibilityChoiceFieldOptionInfo>& options,
  109. ChoiceFieldType type,
  110. bool is_read_only,
  111. bool is_multi_select,
  112. bool has_editable_text_box,
  113. uint32_t index_in_page,
  114. uint32_t text_run_index,
  115. const gfx::RectF& bounds)
  116. : name(name),
  117. options(options),
  118. type(type),
  119. is_read_only(is_read_only),
  120. is_multi_select(is_multi_select),
  121. has_editable_text_box(has_editable_text_box),
  122. index_in_page(index_in_page),
  123. text_run_index(text_run_index),
  124. bounds(bounds) {}
  125. AccessibilityChoiceFieldInfo::AccessibilityChoiceFieldInfo(
  126. const AccessibilityChoiceFieldInfo& other) = default;
  127. AccessibilityChoiceFieldInfo::~AccessibilityChoiceFieldInfo() = default;
  128. AccessibilityButtonInfo::AccessibilityButtonInfo() = default;
  129. AccessibilityButtonInfo::AccessibilityButtonInfo(const std::string& name,
  130. const std::string& value,
  131. ButtonType type,
  132. bool is_read_only,
  133. bool is_checked,
  134. uint32_t control_count,
  135. uint32_t control_index,
  136. uint32_t index_in_page,
  137. uint32_t text_run_index,
  138. const gfx::RectF& bounds)
  139. : name(name),
  140. value(value),
  141. type(type),
  142. is_read_only(is_read_only),
  143. is_checked(is_checked),
  144. control_count(control_count),
  145. control_index(control_index),
  146. index_in_page(index_in_page),
  147. text_run_index(text_run_index),
  148. bounds(bounds) {}
  149. AccessibilityButtonInfo::AccessibilityButtonInfo(
  150. const AccessibilityButtonInfo& other) = default;
  151. AccessibilityButtonInfo::~AccessibilityButtonInfo() = default;
  152. AccessibilityFormFieldInfo::AccessibilityFormFieldInfo() = default;
  153. AccessibilityFormFieldInfo::AccessibilityFormFieldInfo(
  154. const std::vector<AccessibilityTextFieldInfo>& text_fields,
  155. const std::vector<AccessibilityChoiceFieldInfo>& choice_fields,
  156. const std::vector<AccessibilityButtonInfo>& buttons)
  157. : text_fields(text_fields),
  158. choice_fields(choice_fields),
  159. buttons(buttons) {}
  160. AccessibilityFormFieldInfo::AccessibilityFormFieldInfo(
  161. const AccessibilityFormFieldInfo& other) = default;
  162. AccessibilityFormFieldInfo::~AccessibilityFormFieldInfo() = default;
  163. AccessibilityPageObjects::AccessibilityPageObjects() = default;
  164. AccessibilityPageObjects::AccessibilityPageObjects(
  165. const std::vector<AccessibilityLinkInfo>& links,
  166. const std::vector<AccessibilityImageInfo>& images,
  167. const std::vector<AccessibilityHighlightInfo>& highlights,
  168. const AccessibilityFormFieldInfo& form_fields)
  169. : links(links),
  170. images(images),
  171. highlights(highlights),
  172. form_fields(form_fields) {}
  173. AccessibilityPageObjects::AccessibilityPageObjects(
  174. const AccessibilityPageObjects& other) = default;
  175. AccessibilityPageObjects::~AccessibilityPageObjects() = default;
  176. AccessibilityActionData::AccessibilityActionData() = default;
  177. AccessibilityActionData::AccessibilityActionData(
  178. AccessibilityAction action,
  179. AccessibilityAnnotationType annotation_type,
  180. const gfx::Point& target_point,
  181. const gfx::Rect& target_rect,
  182. uint32_t annotation_index,
  183. uint32_t page_index,
  184. AccessibilityScrollAlignment horizontal_scroll_alignment,
  185. AccessibilityScrollAlignment vertical_scroll_alignment,
  186. const PageCharacterIndex& selection_start_index,
  187. const PageCharacterIndex& selection_end_index)
  188. : action(action),
  189. annotation_type(annotation_type),
  190. target_point(target_point),
  191. target_rect(target_rect),
  192. annotation_index(annotation_index),
  193. page_index(page_index),
  194. horizontal_scroll_alignment(horizontal_scroll_alignment),
  195. vertical_scroll_alignment(vertical_scroll_alignment),
  196. selection_start_index(selection_start_index),
  197. selection_end_index(selection_end_index) {}
  198. AccessibilityActionData::AccessibilityActionData(
  199. const AccessibilityActionData& other) = default;
  200. AccessibilityActionData::~AccessibilityActionData() = default;
  201. } // namespace chrome_pdf