当前位置: 首页>>代码示例>>C++>>正文


C++ Comment::getSize方法代码示例

本文整理汇总了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);
}
开发者ID:sasaki-t,项目名称:Presentation-RTCs,代码行数:44,代码来源:commentmanager.cpp


注:本文中的Comment::getSize方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。