本文整理汇总了C++中Comment::getSize方法的典型用法代码示例。如果您正苦于以下问题:C++ Comment::getSize方法的具体用法?C++ Comment::getSize怎么用?C++ Comment::getSize使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Comment
的用法示例。
在下文中一共展示了Comment::getSize方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: findSpace
/*!
* @brief Find space where a comment is put
* @param cmt Comment
* @return Position where comment can be put, <0 if error
*/
int CommentManager::findSpace(Comment &cmt){
const int xmargin = 5;
const int ymargin = 5;
int i;
int cur_space;
int cur_index;
std::vector<int> space;
int size = (int) std::ceil((double)(pimg->rows)/(cmt.getSize().height+ymargin));
std::list<Comment>::iterator it = CmtList.begin();
if(size<=0){return -1;}
space.resize(size,0);
while(it != CmtList.end()){ //for each comment
cur_space = pimg->cols - ((*it).getPosition().x+(*it).getSize().width+xmargin); //caclurate right space
cur_index = ((*it).getPosition().y-(*it).getSize().height)/(cmt.getSize().height+ymargin); //calculate the index
if(space[cur_index] > cur_space){ //if smaller space
space[cur_index] = cur_space; //update the space (i.e. consider only the worst case.)
}
it++;
}
cur_index = 0;
cur_space = space[0];
for(i=0;i<size;i++){
if(space[i]==0){ //if enough space
return (i+1)*(cmt.getSize().height+ymargin);
}else{
if(cur_space<space[i]){ //if larger space found
cur_space = space[i]; //store the data
cur_index = i;
}
}
}
return (cur_index+1)*(cmt.getSize().height+ymargin);
}