/*
Copyright (c) 2024 PTC Inc. and/or Its Subsidiary Companies. All Rights Reserved.
*/
/*---------------------- Pro/Toolkit Includes ------------------------*/
#include <ProToolkit.h>
#include <ProGraphic.h>
#include <ProView.h>
#include <ProColor.h>
#include <ProUtil.h>
#include <ProMessage.h>
/*---------------------- Application Includes ------------------------*/
#include <TestError.h>
/*---------------------- Function Prototypes -------------------------*/
ProError UserAdjustHalftone();
ProError UserDrawYellow();
ProError UserDrawWithDatumPlaneColor();
ProError UserDrawDefaults();
ProError UserAdjustHalftone(dummy, lighter)
char *dummy;
int lighter;
{
ProColormap colors;
ProError err;
err=ProColormapGet(PRO_COLOR_HALF_TONE,&colors);
ERROR_CHECK("UserAdjustHalftone","ProColormapGet",err);
if(lighter)
{
colors.red += 20;
colors.green+= 20;
colors.blue += 20;
}
else
{
colors.red -= 20;
colors.green-= 20;
colors.blue -= 20;
}
err=ProColormapSet(PRO_COLOR_HALF_TONE,&colors);
ERROR_CHECK("UserAdjustHalftone","ProColormapSet",err);
err=ProWindowRefresh(-1);
ERROR_CHECK("UserAdjustHalftone","ProWindowRefresh",err);
}
ProError UserDrawYellow(char* dummy, int dummy_2)
{
ProColor yellow;
ProColor old_g_color, old_t_color;
ProError status;
ProFileName msgfil;
ProStringToWstring(msgfil,"msg_uggraph.txt");
yellow.method = PRO_COLOR_METHOD_RGB;
yellow.value.map.red = 1.0;
yellow.value.map.green = 1.0;
yellow.value.map.blue = 0.0;
status = ProGraphicsColorModify (&yellow, &old_g_color);
ERROR_CHECK ("UserDrawYellow", "ProGraphicsColorModify", status);
status = ProTextColorModify (&yellow, &old_t_color);
ERROR_CHECK ("UserDrawYellow", "ProTextColorModify", status);
/* In a typical implementation, the application would draw graphics
here, and then reset the color back to the previous color.
For this example: users should choose one of the other pt_userguide menu
buttons to observe the results of this change. */
ProMessageDisplay (msgfil, "USER Color set to yellow");
return status;
}
ProError UserDrawWithDatumAxisColor(char* dummy, int dummy_2)
{
ProColor dtm_color;
ProColor old_g_color, old_t_color;
ProError status;
ProFileName msgfil;
ProStringToWstring(msgfil,"msg_uggraph.txt");
dtm_color.method = PRO_COLOR_METHOD_TYPE;
status = ProColorByTypeGet (PRO_DISP_DTM_AXIS, &dtm_color.value.type);
ERROR_CHECK ("UserDrawWithDatumAxisColor", "ProColorByTypeGet", status);
status = ProGraphicsColorModify (&dtm_color, &old_g_color);
ERROR_CHECK ("UserDrawWithDatumAxisColor", "ProGraphicsColorModify", status);
status = ProTextColorModify (&dtm_color, &old_t_color);
ERROR_CHECK ("UserDrawWithDatumAxisColor", "ProTextColorModify", status);
/* In a typical implementation, the application would draw graphics
here, and then reset the color back to the previous color.
For this example: users should choose one of the other pt_userguide menu
buttons to observe the results of this change. */
ProMessageDisplay (msgfil, "USER Color set to datum axis");
return status;
}
ProError UserDrawDefaults(char* dummy, int dummy_2)
{
ProColor default_color;
ProColor old_g_color, old_t_color;
ProError status;
ProFileName msgfil;
ProStringToWstring(msgfil,"msg_uggraph.txt");
default_color.method = PRO_COLOR_METHOD_DEFAULT;
status = ProGraphicsColorModify (&default_color, &old_g_color);
ERROR_CHECK ("UserDrawDefaults", "ProGraphicsColorModify", status);
status = ProTextColorModify (&default_color, &old_t_color);
ERROR_CHECK ("UserDrawDefaults", "ProTextColorModify", status);
/* In a typical implementation, the application would draw graphics
here, and then reset the color back to the previous color.
For this example: users should choose one of the other pt_userguide menu
buttons to observe the results of this change. */
ProMessageDisplay (msgfil, "USER Color set to defaults");
return status;
}