int ContainerSetx(int cn, int x);

 

Sets the x coordinate of a container within its owning container or the screen.

 

Return Value

 

Return value not used.

 

Parameters

 

cn

Handle to a container where the container was added.  Container zero is defined as the screen.

 

x

X coordinate.

 

Remarks

 

The ContainerSetx() function moves a container on the screen or within another container.  Pass zero to the first parameter to specify the preexisting screen container.

 

Availability

 

Available in DragonFireSDK 2.0 and later.

 

Example

 

The sample code below puts a deck of cards on the screen and when the user touches a card, it is brought to the foreground and can be dragged around in front of the other cards until the user picks another card.

 

#include "DragonFireSDK.h"

 

int Cards[52];

int Containers[52];

int i;

 

int OnTouch(int id, int event, int x, int y)

{

  if (event==1)

   {

      // Bring the selected card to the fore.

       ContainerOrderFront(0, Containers[id]);

   }

  else

  if (event==2)

   {

      // Take half off the card's width and height from the x and y

      // to "grab" the card in the center while we drag it around.

       ContainerSetx(Containers[id], x-(ViewGetWidth(Cards[id])/2));

       ContainerSety(Containers[id], y-(ViewGetHeight(Cards[id])/2));

   }

  return(id);

}

 

void AppMain()

{

  int x=0;

  int y=20;

  char buffer[50];

  for (i=0;i<52;i++)

   {

      // Start each card 17 pixels right of the last one.

       x+=17;

      // When we hit the 13th card (King), start a new row

      if (i>0 && i % 13==0)

       {

           x=17;

           y+=110;

       }

      // Create a container and put a view with the next card into it.

       Containers[i]=ContainerAdd(0, x, y);

       sprintf(buffer,"Cards/Card%02d.png",i+1);

       Cards[i]=ViewAdd(Containers[i],buffer,0,0,OnTouch,i);

   }

}

 

void AppExit()

{

 

}

 

void OnTimer()

{

 

}