Return unique_ptr from ui_add_gadget_icon
This commit is contained in:
parent
bcfd6a77f0
commit
8d487b4883
|
@ -391,7 +391,7 @@ int ui_get_file( char * filename, const char * Filespec );
|
|||
|
||||
void ui_draw_icon( UI_GADGET_ICON * icon );
|
||||
window_event_result ui_icon_do( UI_DIALOG *dlg, UI_GADGET_ICON * icon, const d_event &event );
|
||||
UI_GADGET_ICON * ui_add_gadget_icon( UI_DIALOG * dlg, const char * text, short x, short y, short w, short h, int k,int (*f)(void) );
|
||||
std::unique_ptr<UI_GADGET_ICON> ui_add_gadget_icon(UI_DIALOG * dlg, const char * text, short x, short y, short w, short h, int k,int (*f)());
|
||||
|
||||
int DecodeKeyText( const char * text );
|
||||
void GetKeyDescription( char * text, int keypress );
|
||||
|
|
|
@ -117,7 +117,7 @@ void ui_gadget_delete_all( UI_DIALOG * dlg )
|
|||
delete static_cast<UI_GADGET_KEYTRAP *>(tmp);
|
||||
break;
|
||||
case UI_GADGET_ICON::s_kind:
|
||||
delete static_cast<UI_GADGET_ICON *>(tmp);
|
||||
/* Handled by returned unique_ptr */
|
||||
break;
|
||||
default:
|
||||
throw std::runtime_error("unknown gadget kind");
|
||||
|
|
|
@ -83,9 +83,9 @@ void ui_draw_icon( UI_GADGET_ICON * icon )
|
|||
}
|
||||
|
||||
|
||||
UI_GADGET_ICON * ui_add_gadget_icon( UI_DIALOG * dlg, const char * text, short x, short y, short w, short h, int k,int (*f)(void) )
|
||||
std::unique_ptr<UI_GADGET_ICON> ui_add_gadget_icon(UI_DIALOG * dlg, const char * text, short x, short y, short w, short h, int k,int (*f)())
|
||||
{
|
||||
auto icon = ui_gadget_add<UI_GADGET_ICON>( dlg, x, y, x+w-1, y+h-1 );
|
||||
std::unique_ptr<UI_GADGET_ICON> icon{ui_gadget_add<UI_GADGET_ICON>(dlg, x, y, x+w-1, y+h-1)};
|
||||
|
||||
icon->width = w;
|
||||
icon->height = h;
|
||||
|
@ -97,7 +97,6 @@ UI_GADGET_ICON * ui_add_gadget_icon( UI_DIALOG * dlg, const char * text, short x
|
|||
icon->position = 0;
|
||||
icon->pressed = 0;
|
||||
icon->canvas->cv_font = ui_small_font.get();
|
||||
|
||||
// Call twice to get original;
|
||||
if (f)
|
||||
{
|
||||
|
@ -106,10 +105,7 @@ UI_GADGET_ICON * ui_add_gadget_icon( UI_DIALOG * dlg, const char * text, short x
|
|||
} else {
|
||||
icon->flag = 0;
|
||||
}
|
||||
|
||||
|
||||
return icon;
|
||||
|
||||
}
|
||||
|
||||
window_event_result ui_icon_do( UI_DIALOG *dlg, UI_GADGET_ICON * icon,const d_event &event )
|
||||
|
|
|
@ -138,13 +138,13 @@ UI_GADGET_USERBOX * FrontViewBox;
|
|||
UI_GADGET_USERBOX * RightViewBox;
|
||||
#endif
|
||||
|
||||
UI_GADGET_ICON * ViewIcon;
|
||||
UI_GADGET_ICON * AllIcon;
|
||||
UI_GADGET_ICON * AxesIcon;
|
||||
UI_GADGET_ICON * ChaseIcon;
|
||||
UI_GADGET_ICON * OutlineIcon;
|
||||
UI_GADGET_ICON * LockIcon;
|
||||
//-NOLIGHTICON- UI_GADGET_ICON * LightIcon;
|
||||
static std::unique_ptr<UI_GADGET_ICON>
|
||||
ViewIcon,
|
||||
AllIcon,
|
||||
AxesIcon,
|
||||
ChaseIcon,
|
||||
OutlineIcon,
|
||||
LockIcon;
|
||||
|
||||
UI_EVENT * DemoBuffer = NULL;
|
||||
|
||||
|
|
Loading…
Reference in a new issue