示例#1
0
static void
move_row  (GtkTreeModel *src,
	   GtkTreeIter  *src_iter,
	   GtkTreeModel *dest,
	   GtkTreeIter  *dest_iter)
{
  if (src == left_tree_model)
    move_to_right (src_iter, dest, dest_iter);
  else if (dest == left_tree_model)
    move_to_left (src, src_iter, dest_iter);
  else 
    move_up_or_down (src, src_iter, dest, dest_iter);
}
示例#2
0
static void hglin(void) {

	// F53A
	pha();
	c=1;
	sbc(ram[HGR_X]);
	pha();
	a=x;
	sbc(ram[HGR_X+1]);
	ram[HGR_QUADRANT]=a;
	// F544
	if (c==1) goto hglin_1;
	pla();
	a=a^0xff;
	adc(1);
	pha();
	lda_const(0);
	sbc(ram[HGR_QUADRANT]);
	// F550
hglin_1:
	ram[HGR_DX+1]=a;
	ram[HGR_E+1]=a;
	pla();
	ram[HGR_DX]=a;
	ram[HGR_E]=a;
	pla();
	ram[HGR_X]=a;
	ram[HGR_X+1]=x;
	a=y;
	c=0;
	sbc(ram[HGR_Y]);
	if (c==0) goto hglin_2;
	a=a^0xff;
	adc(0xfe);
hglin_2:
	// F568
	ram[HGR_DY]=a;
	ram[HGR_Y]=y;
	ror_mem(HGR_QUADRANT);
	c=1;
	sbc(ram[HGR_DX]);
	x=a;
	lda_const(0xff);
	sbc(ram[HGR_DX+1]);
	ram[HGR_COUNT]=a;
	ldy(HGR_HORIZ);
	goto movex2;	// always?
	// f57c
movex:
	asl();
	move_left_or_right();
	c=1;

	// f581
movex2:
	lda(HGR_E);
	adc(ram[HGR_DY]);
	ram[HGR_E]=a;
	lda(HGR_E+1);
	sbc(0);
movex2_1:
	ram[HGR_E+1]=a;
	lda(y_indirect(GBASL,y));
	a=a^ram[HGR_BITS];
	a=a&ram[HMASK];
	a=a^ram[y_indirect(GBASL,y)];
	ram[y_indirect(GBASL,y)]=a;
	inx();
	if (z!=1) goto movex2_2;
	ram[HGR_COUNT]++;
	if (ram[HGR_COUNT]==0) return;
	// F59e
movex2_2:
	lda(HGR_QUADRANT);
	if (c==1) goto movex;
	move_up_or_down();
	c=0;
	lda(HGR_E);
	adc(ram[HGR_DX]);
	ram[HGR_E]=a;
	lda(HGR_E+1);
	adc(ram[HGR_DX+1]);
	goto movex2_1;
}