Exemplo n.º 1
0
static int iColorDlgColorCnvButton_CB(Ihandle* ih, int b, int press, int x, int y)
{
  IcolorDlgData* colordlg_data = (IcolorDlgData*)iupAttribGetInherit(ih, "_IUP_GC_DATA");
  int width;
  (void)y;

  if (b != IUP_BUTTON1 || !press)
    return IUP_DEFAULT;

  width = colordlg_data->color_cnv->currentwidth;

  if (x < width/2)
  {
    /* reset color to previous */
    colordlg_data->red = iupDrawRed(colordlg_data->previous_color);
    colordlg_data->green = iupDrawGreen(colordlg_data->previous_color);
    colordlg_data->blue = iupDrawBlue(colordlg_data->previous_color);
    colordlg_data->alpha = iupDrawAlpha(colordlg_data->previous_color);

    IupSetInt(colordlg_data->alpha_txt, "VALUE", (int)colordlg_data->alpha);
    IupSetInt(colordlg_data->alpha_val, "VALUE", (int)colordlg_data->alpha);

    iColorDlgRGB_TXT_Update(colordlg_data);
    iColorDlgRGBChanged(colordlg_data);
  }

  return IUP_DEFAULT;
}
Exemplo n.º 2
0
static int iColorBrowserDlgColorCnvButton_CB(Ihandle* ih, int b, int press, int x, int y)
{
  IcolorDlgData* colordlg_data = (IcolorDlgData*)iupAttribGetInherit(ih, "_IUP_GC_DATA");
  int width;
  (void)y;

  if (b != IUP_BUTTON1 || !press || !colordlg_data->cd_canvas_color)
    return IUP_DEFAULT;

  cdCanvasGetSize(colordlg_data->cd_canvas_color, &width, NULL, NULL, NULL);

  if (x < width/2)
  {
    /* reset color to previous */
    colordlg_data->red = cdRed(colordlg_data->previous_color);
    colordlg_data->green = cdGreen(colordlg_data->previous_color);
    colordlg_data->blue = cdBlue(colordlg_data->previous_color);
    colordlg_data->alpha = cdAlpha(colordlg_data->previous_color);

    IupSetInt(colordlg_data->alpha_txt, "VALUE", (int)colordlg_data->alpha);
    IupSetInt(colordlg_data->alpha_val, "VALUE", (int)colordlg_data->alpha);

    iColorBrowserDlgRGB_TXT_Update(colordlg_data);
    iColorBrowserDlgRGBChanged(colordlg_data);
  }

  return IUP_DEFAULT;
}
Exemplo n.º 3
0
Ihandle* IupGetAttributeHandle(Ihandle *ih, const char* name)
{
  char* handle_name = iupAttribGetInherit(ih, name);
  if (handle_name)
    return IupGetHandle(handle_name);
  return NULL;
}
Exemplo n.º 4
0
static char* iColorDlgGetValueAttrib(Ihandle* ih)
{
  IcolorDlgData* colordlg_data = (IcolorDlgData*)iupAttribGetInherit(ih, "_IUP_GC_DATA");
  if (iupAttribGetBoolean(ih, "SHOWALPHA"))
    return iupStrReturnStrf("%d %d %d %d", (int)colordlg_data->red, (int)colordlg_data->green, (int)colordlg_data->blue, (int)colordlg_data->alpha);
  else
    return iupStrReturnRGB(colordlg_data->red, colordlg_data->green, colordlg_data->blue);
}
Exemplo n.º 5
0
static char* iColorDlgGetStatusAttrib(Ihandle* ih)
{
  IcolorDlgData* colordlg_data = (IcolorDlgData*)iupAttribGetInherit(ih, "_IUP_GC_DATA");
  if (colordlg_data->status) 
    return "1";
  else 
    return NULL;
}
Exemplo n.º 6
0
static int winMenuMapMethod(Ihandle* ih)
{
  MENUINFO menuinfo;

  if (iupMenuIsMenuBar(ih))
  {
    /* top level menu used for MENU attribute in IupDialog (a menu bar) */

    ih->handle = (InativeHandle*)CreateMenu();
    if (!ih->handle)
      return IUP_ERROR;

    SetMenu(ih->parent->handle, (HMENU)ih->handle);
  }
  else
  {
    if (ih->parent)
    {
      /* parent is a submenu, it is created here */

      ih->handle = (InativeHandle*)CreatePopupMenu();
      if (!ih->handle)
        return IUP_ERROR;

      if (winMenuAddParentSubmenu(ih->parent) == IUP_ERROR)
      {
        DestroyMenu((HMENU)ih->handle);
        return IUP_ERROR;
      }
    }
    else  
    {
      /* top level menu used for IupPopup */

      ih->handle = (InativeHandle*)CreatePopupMenu();
      if (!ih->handle)
        return IUP_ERROR;

      iupAttribSetStr(ih, "_IUPWIN_POPUP_MENU", "1");
    }
  }

  menuinfo.cbSize = sizeof(MENUINFO);
  menuinfo.fMask = MIM_MENUDATA;
  menuinfo.dwMenuData = (ULONG_PTR)ih;

  if (!iupAttribGetInherit(ih, "_IUPWIN_POPUP_MENU"))   /* check in the top level menu using inheritance */
  {
    menuinfo.fMask |= MIM_STYLE;
    menuinfo.dwStyle = MNS_NOTIFYBYPOS;
  }

  SetMenuInfo((HMENU)ih->handle, &menuinfo);

  winMenuUpdateBar(ih);

  return IUP_NOERROR;
}
Exemplo n.º 7
0
static int iColorDlgIntensitySpin_CB(Ihandle* ih, int vi) 
{
  IcolorDlgData* colordlg_data = (IcolorDlgData*)iupAttribGetInherit(ih, "_IUP_GC_DATA");

  colordlg_data->intensity = (double)vi/100.0;
  iColorDlgHSIChanged(colordlg_data);

  return IUP_DEFAULT;
}
Exemplo n.º 8
0
static int iColorDlgMapMethod(Ihandle* ih)
{
  IcolorDlgData* colordlg_data = (IcolorDlgData*)iupAttribGetInherit(ih, "_IUP_GC_DATA");

  if (!IupGetCallback(ih, "HELP_CB"))
    IupSetAttribute(colordlg_data->help_bt, "VISIBLE", "NO");

  return IUP_NOERROR;
}
Exemplo n.º 9
0
static int iColorBrowserDlgSaturationSpin_CB(Ihandle* ih, int vi) 
{
  IcolorDlgData* colordlg_data = (IcolorDlgData*)iupAttribGetInherit(ih, "_IUP_GC_DATA");

  colordlg_data->saturation = (float)vi/100.0f;
  iColorBrowserDlgHSIChanged(colordlg_data);

  return IUP_DEFAULT;
}
Exemplo n.º 10
0
static int iColorDlgBlueSpin_CB(Ihandle* ih, int vi) 
{
  IcolorDlgData* colordlg_data = (IcolorDlgData*)iupAttribGetInherit(ih, "_IUP_GC_DATA");

  colordlg_data->blue = (unsigned char)vi;
  iColorDlgRGBChanged(colordlg_data);

  return IUP_DEFAULT;
}
Exemplo n.º 11
0
static int iColorDlgButtonHelp_CB(Ihandle* ih)
{
  Icallback cb = IupGetCallback(IupGetDialog(ih), "HELP_CB");
  if (cb && cb(ih) == IUP_CLOSE)
  {
    IcolorDlgData* colordlg_data = (IcolorDlgData*)iupAttribGetInherit(ih, "_IUP_GC_DATA");
    colordlg_data->status = 0;
    return IUP_CLOSE;
  }
  return IUP_DEFAULT;
}
Exemplo n.º 12
0
static int iColorBrowserDlgColorCnvAction_CB(Ihandle* ih)
{
  IcolorDlgData* colordlg_data = (IcolorDlgData*)iupAttribGetInherit(ih, "_IUP_GC_DATA");

  if (!colordlg_data->cd_canvas_color)
    return IUP_DEFAULT;

  iColorBrowserDlgColorCnvRepaint(colordlg_data);

  return IUP_DEFAULT;
}
Exemplo n.º 13
0
static int iColorDlgAlphaSpin_CB(Ihandle* ih, int vi) 
{
  IcolorDlgData* colordlg_data = (IcolorDlgData*)iupAttribGetInherit(ih, "_IUP_GC_DATA");

  colordlg_data->alpha = (unsigned char)vi;
  IupSetInt(colordlg_data->alpha_val, "VALUE", (int)colordlg_data->alpha);

  colordlg_data->color = iupDrawColor(colordlg_data->red, colordlg_data->green, colordlg_data->blue, colordlg_data->alpha);
  IupUpdate(colordlg_data->color_cnv);

  return IUP_DEFAULT;
}
Exemplo n.º 14
0
static int iColorBrowserDlgAlphaSpin_CB(Ihandle* ih, int vi) 
{
  IcolorDlgData* colordlg_data = (IcolorDlgData*)iupAttribGetInherit(ih, "_IUP_GC_DATA");

  colordlg_data->alpha = (unsigned char)vi;
  IupSetInt(colordlg_data->alpha_val, "VALUE", (int)colordlg_data->alpha);

  colordlg_data->color = cdEncodeAlpha(colordlg_data->color, colordlg_data->alpha);
  iColorBrowserDlgColorCnvRepaint(colordlg_data);

  return IUP_DEFAULT;
}
Exemplo n.º 15
0
static int iColorBrowserDlgColorCnvUnMap_CB(Ihandle* ih)
{
  IcolorDlgData* colordlg_data = (IcolorDlgData*)iupAttribGetInherit(ih, "_IUP_GC_DATA");

  if (colordlg_data->cd_canvas_color)
  {
    cdKillCanvas(colordlg_data->cd_canvas_color);
    colordlg_data->cd_canvas_color = NULL;
  }

  return IUP_DEFAULT;
}
Exemplo n.º 16
0
static int iColorDlgColorTableSelect_CB(Ihandle* ih, int cell, int type)
{
  IcolorDlgData* colordlg_data = (IcolorDlgData*)iupAttribGetInherit(ih, "_IUP_GC_DATA");

  iupStrToRGB(IupGetAttributeId(ih, "CELL", cell), &colordlg_data->red, &colordlg_data->green, &colordlg_data->blue);

  iColorDlgRGB_TXT_Update(colordlg_data);
  iColorDlgRGBChanged(colordlg_data);

  (void)type;
  return IUP_DEFAULT;
}
Exemplo n.º 17
0
static int iColorBrowserDlgSaturationAction_CB(Ihandle* ih, int c, char *value) 
{
  IcolorDlgData* colordlg_data = (IcolorDlgData*)iupAttribGetInherit(ih, "_IUP_GC_DATA");
  int vi;

  if (iupStrToInt(value, &vi))
  {
    colordlg_data->saturation = (float)vi/100.0f;
    iColorBrowserDlgHSIChanged(colordlg_data);
  }

  (void)c;
  return IUP_DEFAULT;
}
Exemplo n.º 18
0
static int iColorDlgBlueAction_CB(Ihandle* ih, int c, char *value) 
{
  IcolorDlgData* colordlg_data = (IcolorDlgData*)iupAttribGetInherit(ih, "_IUP_GC_DATA");
  int vi;

  if (iupStrToInt(value, &vi))
  {
    colordlg_data->blue = (unsigned char)vi;
    iColorDlgRGBChanged(colordlg_data);
  }

  (void)c;
  return IUP_DEFAULT;
}
Exemplo n.º 19
0
static int iColorDlgIntensityAction_CB(Ihandle* ih, int c, char *value) 
{
  IcolorDlgData* colordlg_data = (IcolorDlgData*)iupAttribGetInherit(ih, "_IUP_GC_DATA");
  int vi;

  if (iupStrToInt(value, &vi))
  {
    colordlg_data->intensity = (double)vi/100.0;
    iColorDlgHSIChanged(colordlg_data);
  }

  (void)c;
  return IUP_DEFAULT;
}
Exemplo n.º 20
0
static int iColorDlgSetValueHexAttrib(Ihandle* ih, const char* value)
{
  IcolorDlgData* colordlg_data = (IcolorDlgData*)iupAttribGetInherit(ih, "_IUP_GC_DATA");

  if (!iupStrToRGB(value, &(colordlg_data->red), &(colordlg_data->green), &(colordlg_data->blue)))
    return 0;

  colordlg_data->previous_color = iupDrawColor(colordlg_data->red, colordlg_data->green, colordlg_data->blue, colordlg_data->alpha);

  iColorDlgRGB2HSI(colordlg_data);
  iColorDlgBrowserRGB_Update(colordlg_data);
  iColorDlgHSI_TXT_Update(colordlg_data);
  iColorDlgRGB_TXT_Update(colordlg_data);
  iColorDlgColor_Update(colordlg_data);
  return 0;
}
Exemplo n.º 21
0
static int iColorDlgHexAction_CB(Ihandle* ih, int c, char* value) 
{
  IcolorDlgData* colordlg_data = (IcolorDlgData*)iupAttribGetInherit(ih, "_IUP_GC_DATA");

  if (iupStrToRGB(value, &(colordlg_data->red), &(colordlg_data->green), &(colordlg_data->blue)))
  {
    iColorDlgRGB2HSI(colordlg_data);
    iColorDlgBrowserRGB_Update(colordlg_data);
    iColorDlgHSI_TXT_Update(colordlg_data);
    iColorDlgRGB_TXT_Update(colordlg_data);
    iColorDlgColor_Update(colordlg_data);
  }

  (void)c;
  return IUP_DEFAULT;
}
Exemplo n.º 22
0
static int iColorBrowserDlgAlphaAction_CB(Ihandle* ih, int c, char* value) 
{
  IcolorDlgData* colordlg_data = (IcolorDlgData*)iupAttribGetInherit(ih, "_IUP_GC_DATA");
  int vi;

  if (iupStrToInt(value, &vi))
  {
    colordlg_data->alpha = (unsigned char)vi;
    IupSetInt(colordlg_data->alpha_val, "VALUE", (int)colordlg_data->alpha);

    colordlg_data->color = cdEncodeAlpha(colordlg_data->color, colordlg_data->alpha);
    iColorBrowserDlgColorCnvRepaint(colordlg_data);
  }

  (void)c;
  return IUP_DEFAULT;
}
Exemplo n.º 23
0
static char* iColorDlgGetColorTableAttrib(Ihandle* ih)
{
  int i, inc, off = 0;
  IcolorDlgData* colordlg_data = (IcolorDlgData*)iupAttribGetInherit(ih, "_IUP_GC_DATA");
  char* color_str;
  char* str = iupStrGetMemory(COLORTABLE_MAX * 3 * 20);
  for (i = 0; i < COLORTABLE_MAX; i++)
  {
    color_str = IupGetAttributeId(colordlg_data->colortable_cbar, "CELL", i);
    inc = (int)strlen(color_str);
    memcpy(str+off, color_str, inc);
    memcpy(str+off+inc, ";", 1);
    off += inc+1;
  }
  str[off-1] = 0; /* remove last separator */
  return str;
}
Exemplo n.º 24
0
static int iColorDlgSetShowAlphaAttrib(Ihandle* ih, const char* value)
{
  IcolorDlgData* colordlg_data = (IcolorDlgData*)iupAttribGetInherit(ih, "_IUP_GC_DATA");

  /* valid only before map */
  if (ih->handle)
    return 1;

  if (iupStrBoolean(value))
  {
    Ihandle* box = IupGetParent(colordlg_data->alpha_val);
    IupSetAttribute(box, "FLOATING", NULL);
    IupSetAttribute(box, "VISIBLE", "YES");
  }

  return 1;
}
Exemplo n.º 25
0
static int iColorDlgAlphaAction_CB(Ihandle* ih, int c, char* value) 
{
  IcolorDlgData* colordlg_data = (IcolorDlgData*)iupAttribGetInherit(ih, "_IUP_GC_DATA");
  int vi;

  if (iupStrToInt(value, &vi))
  {
    colordlg_data->alpha = (unsigned char)vi;
    IupSetInt(colordlg_data->alpha_val, "VALUE", (int)colordlg_data->alpha);

    colordlg_data->color = iupDrawColor(colordlg_data->red, colordlg_data->green, colordlg_data->blue, colordlg_data->alpha);
    IupUpdate(colordlg_data->color_cnv);
  }

  (void)c;
  return IUP_DEFAULT;
}
Exemplo n.º 26
0
void iupBaseContainerUpdateExpand(Ihandle* ih)
{
  char *expand = iupAttribGetInherit(ih, "EXPAND");
  if (!expand)
    ih->expand = IUP_EXPAND_BOTH;  /* default for containers is YES */
  else
  {
    if (iupStrEqualNoCase(expand, "NO"))
      ih->expand = IUP_EXPAND_NONE;
    else if (iupStrEqualNoCase(expand, "HORIZONTAL"))
      ih->expand = IUP_EXPAND_WIDTH;
    else if (iupStrEqualNoCase(expand, "VERTICAL"))
      ih->expand = IUP_EXPAND_HEIGHT;
    else
      ih->expand = IUP_EXPAND_BOTH;  /* default for containers is YES */
  }
}
Exemplo n.º 27
0
static int iColorDlgColorSelDrag_CB(Ihandle* ih, unsigned char r, unsigned char g, unsigned char b)
{
  IcolorDlgData* colordlg_data = (IcolorDlgData*)iupAttribGetInherit(ih, "_IUP_GC_DATA");

  colordlg_data->red   = r;
  colordlg_data->green = g;
  colordlg_data->blue  = b;

  iColorDlgRGB2HSI(colordlg_data);
  iColorDlgHex_TXT_Update(colordlg_data);
  iColorDlgHSI_TXT_Update(colordlg_data);
  iColorDlgRGB_TXT_Update(colordlg_data);

  colordlg_data->color = iupDrawColor(colordlg_data->red, colordlg_data->green, colordlg_data->blue, colordlg_data->alpha);
  IupUpdate(colordlg_data->color_cnv);

  return IUP_DEFAULT;
}
Exemplo n.º 28
0
static int iColorDlgSetValueHSIAttrib(Ihandle* ih, const char* value)
{
  IcolorDlgData* colordlg_data = (IcolorDlgData*)iupAttribGetInherit(ih, "_IUP_GC_DATA");
  int hue, saturation, intensity;

  if (!iupStrToHSI_Int(value, &hue, &saturation, &intensity))
    return 0;
  
  colordlg_data->hue = (double)hue;
  colordlg_data->saturation = (double)saturation/100.0;
  colordlg_data->intensity = (double)intensity/100.0;

  iColorDlgHSI2RGB(colordlg_data);
  colordlg_data->previous_color = iupDrawColor(colordlg_data->red, colordlg_data->green, colordlg_data->blue, colordlg_data->alpha);
 
  iColorDlgHSIChanged(colordlg_data);
  return 0;
}
Exemplo n.º 29
0
static int iColorBrowserDlgColorSelDrag_CB(Ihandle* ih, unsigned char r, unsigned char g, unsigned char b)
{
  IcolorDlgData* colordlg_data = (IcolorDlgData*)iupAttribGetInherit(ih, "_IUP_GC_DATA");

  colordlg_data->red   = r;
  colordlg_data->green = g;
  colordlg_data->blue  = b;

  iColorBrowserDlgRGB2HSI(colordlg_data);
  iColorBrowserDlgHex_TXT_Update(colordlg_data);
  iColorBrowserDlgHSI_TXT_Update(colordlg_data);
  iColorBrowserDlgRGB_TXT_Update(colordlg_data);

  colordlg_data->color = cdEncodeColor(colordlg_data->red,colordlg_data->green,colordlg_data->blue);
  colordlg_data->color = cdEncodeAlpha(colordlg_data->color, colordlg_data->alpha);
  iColorBrowserDlgColorCnvRepaint(colordlg_data);

  return IUP_DEFAULT;
}
Exemplo n.º 30
0
static int iColorDlgColorCnvAction_CB(Ihandle* color_cnv)
{
  IcolorDlgData* colordlg_data = (IcolorDlgData*)iupAttribGetInherit(color_cnv, "_IUP_GC_DATA");

  int x, y, w, h, width, height, box_size = 10;

  IupDrawBegin(color_cnv);

  IupDrawGetSize(color_cnv, &width, &height);

  iupDrawSetColor(color_cnv, "DRAWCOLOR", iupDrawColor(255, 255, 255, 255));
  iupAttribSet(color_cnv, "DRAWSTYLE", "FILL");
  IupDrawRectangle(color_cnv, 0, 0, width - 1, height - 1);

  w = (width + box_size - 1) / box_size;
  h = (height + box_size - 1) / box_size;

  iupDrawSetColor(color_cnv, "DRAWCOLOR", iupDrawColor(192, 192, 192, 255));

  for (y = 0; y < h; y++)
  {
    for (x = 0; x < w; x++)
    {
      if (((x % 2) && (y % 2)) || (((x + 1) % 2) && ((y + 1) % 2)))
      {
        int xmin = x*box_size;
        int xmax = xmin + box_size;
        int ymin = y*box_size;
        int ymax = ymin + box_size;

        IupDrawRectangle(color_cnv, xmin, ymin, xmax, ymax);
      }
    }
  }

  iColorDrawTransparentRectangle(color_cnv, 0, 0, width / 2, height - 1, colordlg_data->previous_color);

  iColorDrawTransparentRectangle(color_cnv, width / 2 + 1, 0, width - 1, height - 1, colordlg_data->color);

  IupDrawEnd(color_cnv);

  return IUP_DEFAULT;
}