PtRegion with Alpha Channel

I want to create a region in a small app that covers the entire screen but shows whatever is behind at 50% opacity. I’m able to go full screen, but when I try and do a fill with PgARGB(128, 0, 0, 0) it is still 100% opaque. Here is the code I’m playing with:

  	if((p = getenv("PHIG")))
  		input_group = atoi(p);
  
  	PhQueryRids(0, 0, input_group, Ph_INPUTGROUP_REGION, 0, 0, 0, &rid, 1);
  	PhRegionQuery(rid, &region, &rect, NULL, 0);
  	PhWindowQueryVisible(Ph_QUERY_INPUT_GROUP | Ph_QUERY_EXACT, 0, region.input_group, &rect);
  	PhRectToArea(&rect, &area);

  	raw_cb.event_f = clickCB;
	  raw_cb.event_mask = input_events;
	  raw_cb.data = 0;

    PgSetColorModel(Pg_CM_ARGB);

    PtSetArg( &args[n++], Pt_ARG_AREA, &area, 0 );
    PtSetArg( &args[n++], Pt_ARG_REGION_SENSE, -1, input_events);
    PtSetArg( &args[n++], Pt_ARG_REGION_OPAQUE, -1, Ph_EV_PTR_ALL | Ph_EV_EXPOSE | Ph_EV_DRAW);
    PtSetArg( &args[n++], Pt_ARG_FILL_COLOR, PgARGB(128,0,0,0), 0 );
    PtSetArg( &args[n++], Pt_ARG_REGION_FIELDS, -1, Ph_REGION_ORIGIN 
            | Ph_REGION_RECT | Ph_REGION_EV_SENSE | Ph_REGION_EV_OPAQUE 
            | Ph_REGION_PARENT | Ph_REGION_FLAGS );
    PtSetArg( &args[n++], Pt_ARG_REGION_FLAGS, -1, Ph_FORCE_FRONT );
    PtSetArg( &args[n++], Pt_ARG_REGION_PARENT, 0, 0 );
  	PtSetArg(&args[n++], Pt_ARG_REGION_INPUT_GROUP, region.input_group, 0);
  	PtSetArg(&args[n++], Pt_ARG_REGION_INFRONT, Ph_DEV_RID, 0);
    PtSetParentWidget( NULL );                
    frame = PtCreateWidget( PtRegion, NULL, n, args );

I’ve event tried painting the region with PgTRANSPARENT and drawing a label with 50% fill, but has the same result.

Is there any way to do this?

TIA,
Bill

“I want to create a region in a small app that covers the entire screen but shows whatever is behind at 50% opacityâ€