本文整理汇总了C++中Fl_Group::array方法的典型用法代码示例。如果您正苦于以下问题:C++ Fl_Group::array方法的具体用法?C++ Fl_Group::array怎么用?C++ Fl_Group::array使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Fl_Group
的用法示例。
在下文中一共展示了Fl_Group::array方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: while
Scheme_Object*
spark_fltk_group::array(int argc, Scheme_Object** argv)
{
DEFAULT_RET_INIT;
Fl_Group* group = _get_fl_group(argc, argv, 0);
if (group)
{
Fl_Widget** widgets = const_cast<Fl_Widget**>(group->array());
if (!widgets)
{
DEFAULT_RET_FINISH;
}
int i = 0;
Fl_Widget* w = widgets[i];
std::vector<Fl_Widget*> w_vec;
while (w)
{
w_vec.push_back(w);
++i;
w = widgets[i];
}
size_t sz = w_vec.size();
Scheme_Object** elems = new Scheme_Object*[sz];
for (size_t i=0; i<sz; ++i)
{
Scheme_Object* obj = NULL;
Scheme_Object* tag = 0;
MZ_GC_DECL_REG(2);
MZ_GC_VAR_IN_REG(0, obj);
MZ_GC_VAR_IN_REG(1, tag);
MZ_GC_REG();
tag = scheme_make_integer(FL_WIDGET_TAG);
obj = scheme_make_cptr(w_vec[i], tag);
elems[i] = obj;
MZ_GC_UNREG();
}
_ret_ = scheme_build_list(sz, elems);
delete[] elems;
}
DEFAULT_RET_FINISH;
}