21 #ifndef TESSERACT_TEXTORD_COLPARTITIONSET_H_ 22 #define TESSERACT_TEXTORD_COLPARTITIONSET_H_ 31 class WorkingPartSet_LIST;
32 class ColSegment_LIST;
33 class ColPartitionSet;
53 return parts_.empty();
56 return parts_.length();
69 void GetColumnBoxes(
int y_bottom,
int y_top, ColSegment_LIST *segments);
109 int left,
int right,
int height,
int y,
110 int left_margin,
int right_margin,
111 int* first_col,
int* last_col,
112 int* first_spanned_col);
119 int resolution, ColPartition_LIST* used_parts,
120 WorkingPartSet_LIST* working_set);
124 int* total_gap,
int* gap_samples);
131 void AddPartition(
ColPartition* new_part, ColPartition_IT* it);
150 void ComputeCoverage();
154 void AddPartitionCoverageAndBox(
const ColPartition& part);
157 ColPartition_LIST parts_;
159 int good_column_count_;
172 #endif // TESSERACT_TEXTORD_COLPARTITION_H_ #define ELISTIZEH(CLASSNAME)
int GoodColumnCount() const
ColumnSpanningType SpanningType(int resolution, int left, int right, int height, int y, int left_margin, int right_margin, int *first_col, int *last_col, int *first_spanned_col)
const TBOX & bounding_box() const
bool CompatibleColumns(bool debug, ColPartitionSet *other, WidthCallback *cb)
void ImproveColumnCandidate(WidthCallback *cb, PartSetVector *src_sets)
ColPartition * GetColumnByIndex(int index)
void AccumulateColumnWidthsAndGaps(int *total_width, int *width_samples, int *total_gap, int *gap_samples)
void AddToColumnSetsIfUnique(PartSetVector *column_sets, WidthCallback *cb)
void GetColumnBoxes(int y_bottom, int y_top, ColSegment_LIST *segments)
void ChangeWorkColumns(const ICOORD &bleft, const ICOORD &tright, int resolution, ColPartition_LIST *used_parts, WorkingPartSet_LIST *working_set)
void DisplayColumnEdges(int y_bottom, int y_top, ScrollView *win)
ColPartitionSet()=default
~ColPartitionSet()=default
int UnmatchedWidth(ColPartitionSet *part_set)
ColPartition * ColumnContaining(int x, int y)
bool LegalColumnCandidate()
ColPartitionSet * Copy(bool good_only)