Exemplo n.º 1
0
void		init_bts2(t_linkedlist **bts, t_bunny_pixelarray *buff)
{
  append_elem(bts, init_bt(buff, buttons_erase(),
			   &on_eraser_click));
  append_elem(bts, init_bt(buff, buttons_more_border(),
			   &on_plus_click));
  append_elem(bts, init_bt(buff, buttons_less_border(),
			   &on_less_click));
  append_elem(bts, init_bt(buff, buttons_clean_border(),
			   &on_reset_workplan_click));
  append_elem(bts, init_bt(buff, buttons_color(),
			   &on_palette_click));
  append_elem(bts, init_bt(buff, buttons_load(),
			   &on_load_tkp_click));
  append_elem(bts, init_bt(buff, buttons_save(),
			   &on_save_tkp_click));
  append_elem(bts, init_bt(buff, buttons_load_bmp(),
			   &on_load_bmp_click));
}
Exemplo n.º 2
0
// Do a bank-specific function
int buttons_do_function(Buttons *buttons,ULONG func)
{
	int result=1;

	// Look at function
	switch (func)
	{
		// New/Open/Defaults/Last Saved
		case MENU_TOOLBAR_BUTTONS_NEW:
		case MENU_OPEN_BUTTONS_LOCAL:
		case MENU_TOOLBAR_RESET_DEFAULTS:
		case MENU_TOOLBAR_LAST_SAVED:
			buttons_new_bank(buttons,func,0);
			break;

		// Restore
		case MENU_TOOLBAR_RESTORE:
			buttons_new_bank(buttons,func,buttons->backup);
			break;

		// Save
		case MENU_SAVE_BUTTONS:
			{
				BOOL ok=0;

				// Lock bank
				GetSemaphore(&buttons->bank->lock,SEMF_SHARED,0);

				// Valid path?
				if (buttons->bank->path[0])
				{
					buttons_save(buttons,buttons->bank->path);
					ok=1;
				}

				// Unlock bank
				FreeSemaphore(&buttons->bank->lock);
				if (ok) break;
			}

		// Save as
		case MENU_SAVEAS_BUTTONS:
			GetSemaphore(&buttons->bank->lock,SEMF_SHARED,0);
			buttons_saveas(buttons);
			FreeSemaphore(&buttons->bank->lock);
			break;

		// Close
		case MENU_CLOSE_BUTTONS:
			if (buttons_check_change(buttons,1))
				result=0;
			break;

		// Iconify
		case MENU_ICONIFY_BUTTONS:
			if (buttons_iconify(buttons))
				buttons_close(buttons,0);
			break;


		// Don't understand it
		default:
			result=-1;
			break;
	}

	return result;
}