示例#1
0
文件: dl_main.c 项目: jm689336/low
int main(void)
{
  List *list;

  list = NULL;
  if (add_end_dl_list(&list, "Holberton") == 1 ||
      add_end_dl_list(&list, "School") == 1 ||
      add_end_dl_list(&list, "Full") == 1 ||
      add_end_dl_list(&list, "Stack") == 1 ||
      add_end_dl_list(&list, "Engineer") == 1)
    return (1);
  printf("FIRST EXAMPLE:\n");
  print_dl_list(list);
  free_dl_list(list);
  list = NULL;
  if (add_begin_dl_list(&list, "Holberton") == 1 ||
      add_begin_dl_list(&list, "School") == 1 ||
      add_begin_dl_list(&list, "Full") == 1 ||
      add_begin_dl_list(&list, "Stack") == 1 ||
      add_begin_dl_list(&list, "Engineer") == 1)
    return (1);
  printf("SECOND EXAMPLE:\n");
  print_dl_list(list);
  free_dl_list(list);
  return (0);
}
示例#2
0
static Errcode tween_sv_undo(void)
/* Free old state and clone current state into it. */
{
Errcode err;

free_dl_list(&twcb->old.links);
if ((err =  clone_dl_list(
	&twcb->cur.links, &twcb->old.links, sizeof(Tween_link))) < Success)
	return(err);
if ((err = update_poly(&twcb->cur.p0, &twcb->old.p0)) < Success)
	return(err);
return(update_poly(&twcb->cur.p1, &twcb->old.p1));
}
示例#3
0
static Errcode force_other(Poly *p)
/* Make sure other poly exists, forcing it to be a clone of this one if
   necessary .  Free up any old links. */
{
Poly *other;
Errcode err = Success;

set_last_made();
other = other_poly(p);
if (other->polymagic != POLYMAGIC)
	{
	clear_struct(other);
	err = update_poly(p,other);
	}
free_dl_list(&twcb->cur.links);
return(err);
}
示例#4
0
static void tween_selit(Menuhdr *mh, SHORT hitid)
/* Pull-down interpreter for tween system */
{
Poly *p;

hide_mp();
switch(hitid)
	{
	case TWE_UND_PUL:
		tween_swap_undo();
		break;
	case TWE_ONC_PUL:
		wireframe_tween();
		break;
	case TWE_LOO_PUL:
		wireloop_tween();
		break;
	case TWE_REN_PUL:
		render_tween();
		break;
	case TWE_TRA_PUL:
		render_trails();
		break;
	case TWE_END_PUL:
		tween_end_to_start();
		break;
	case TWE_SWA_PUL:
		tween_swap_ends();
		break;
	case TWE_CLE_PUL:
		tween_clear();
		break;
	case TWE_FIL_PUL:
		if (tween_save_undo()>=Success)
			{
			if (save_tween_state() >= Success)
				{
				tween_undraw();
				twe_disable_refresh();
				trash_tween_state(&twcb->cur);
				go_files(FTP_TWEEN);
				load_tween_state();
				twe_enable_refresh();
				tween_redraw();
				}
			}
		break;
	case TWE_QUI_PUL:
		mh_gclose_code(mh, Err_abort);
		break;
	case SHA_POL_PUL:	/* polygon */
		vs.tween_tool = TTI_POLY;
		break;
	case SHA_SHA_PUL: /* shape */
		vs.tween_tool = TTI_SHAPE;
		break;
	case SHA_STA_PUL:		/* Star */
		vs.tween_tool = TTI_STAR;
		break;
	case SHA_PET_PUL:		/* Petal */
		vs.tween_tool = TTI_PETAL;
		break;
	case SHA_RPO_PUL:		/* Rpoly */
		vs.tween_tool = TTI_RPOLY;
		break;
	case SHA_OVA_PUL:		/* oval */
		vs.tween_tool = TTI_OVAL;
		break;
	case SHA_REV_PUL:		/* reverse */
		tween_reverse_poly();
		break;
	case SHA_USE_PUL:		/* Use Last */
		if (tween_save_undo()>=Success)
			{
			if ((load_a_poly(poly_name, p = sel_poly())) >= Success)
				{
				softerr(force_other(p),NULL);
				redraw_both_ends();
				}
			}
		break;
	case SHA_LOA_PUL:		/* Load */
		load_cur_shape();
		break;
	case SHA_SAV_PUL:	/* Save */
		save_cur_shape();
		break;
	case MOV_MVP_PUL:		/* Move Point */
		vs.tween_tool = TTI_MPOINT;
		break;
	case MOV_MAG_PUL:		/* Magnet */
		vs.tween_tool = TTI_MAGNET;
		break;
	case MOV_BLO_PUL:		/* Blow */
		vs.tween_tool = TTI_BLOW;
		break;
	case MOV_MVS_PUL:		/* Move Shape */
		vs.tween_tool = TTI_MSHAPE;
		break;
	case MOV_MVT_PUL:		/* Move tween */
		vs.tween_tool = TTI_MTWEEN;
		break;
	case MOV_SZS_PUL:		/* Size shape */
		vs.tween_tool = TTI_SSHAPE;
		break;
	case MOV_SZT_PUL:		/* Size tween */
		vs.tween_tool = TTI_STWEEN;
		break;
	case MOV_LIN_PUL:		/* Link Points */
		vs.tween_tool = TTI_LINK;
		break;
	case MOV_CLE_PUL:		/* clear links */
		if (tween_save_undo()>=Success)
			{
			free_dl_list(&twcb->cur.links);
			redraw_both_ends();
			}
		break;
	case OPT_CLO_PUL:
		vs.closed_curve = !vs.closed_curve;
		redraw_both_ends();
		break;
	case OPT_SPL_PUL:
		vs.tween_spline = !vs.tween_spline;
		break;
	case OPT_TWO_PUL:
		vs.color2 = !vs.color2;
		break;
	case OPT_IN__PUL:		/* in slow */
		vs.ado_ease = !vs.ado_ease;
		break;
	case OPT_OUT_PUL:		/* out slow */
		vs.ado_ease_out = !vs.ado_ease_out;
		break;
	case OPT_STI_PUL:		/* still */
		vs.ado_tween = !vs.ado_tween;
		break;
	case OPT_PIN_PUL:		/* ping-pong */
		vs.ado_pong = !vs.ado_pong;
		break;
	case OPT_REV_PUL:		/* reverse */
		vs.ado_reverse = !vs.ado_reverse;
		break;
	case OPT_COM_PUL:		/* complete */
		vs.ado_complete = !vs.ado_complete;
		break;
	case ACT_STA_PUL:
		vs.tween_end = TWEEN_START;
		redraw_both_ends();
		break;
	case ACT_END_PUL:
		vs.tween_end = TWEEN_END;
		redraw_both_ends();
		break;
	case ACT_BOT_PUL:
		vs.tween_end = TWEEN_BOTH;
		redraw_both_ends();
		break;
	}
show_mp();
}