Exemplo n.º 1
0
static void
munger_test (handle_state h_s,
	     offset_state offset_s,
	     ptr_state ptr1_s,
	     len_state len1_s,
	     ptr_state ptr2_s,
	     len_state len2_s)
{
  Handle h;
  LONGINT offset;
  Ptr ptr1;
  LONGINT len1;
  Ptr ptr2;
  LONGINT len2;
  LONGINT retval;
  LONGINT d0;

  h = new_handle (h_s);
  offset = new_offset (offset_s, GetHandleSize (h));
  ptr1 = new_ptr (ptr1_s);
  len1 = new_len (len1_s);
  ptr2 = new_ptr (ptr2_s);
  len2 = new_len (len2_s);

  dump_handle (h);
  retval = Munger_invoker (h, offset, ptr1, len1, ptr2, len2, &d0);
  dump_handle (h);
  dump_retval_d0 (retval, d0);

  if (h_s >= handle_nil_master)
    DisposeHandle (h);
}
Exemplo n.º 2
0
	ivec2 gx::atlas_renderer::next_offset(const ivec2 & offset, const ivec2 & atlas_size, gl::size_t tile_size) const {
		// Advance in the x direction.
		ivec2 new_offset(offset.x() + tile_size, offset.y());
		
		// If needed, go down to a new row.
		if ((new_offset.x() + tile_size) > atlas_size.x()) {
			new_offset.set_x(0);
			new_offset.set_y(offset.y() + tile_size);
		}
		
		return new_offset;
	}