Send relative coordinates to a customer drawable from layout

Hi, I have careted a customer drawable to draw a graph. I am using relative layouts (works well for adapting the layout to many different devices). Here is my layouts file:

<layouts>
<layout id="myWidgetLayout">
    <label id="title" x="center" y="15%" font="Graphics.FONT_SMAL" justification="Graphics.TEXT_JUSTIFY_CENTER | Graphics.TEXT_JUSTIFY_VCENTER" color="Graphics.COLOR_WHITE" background="Graphics.COLOR_TRANSPARENT" />   
    <label id="message" x="center" y="30%" font="Graphics.FONT_SMALL" justification="Graphics.TEXT_JUSTIFY_CENTER | Graphics.TEXT_JUSTIFY_VCENTER" color="Graphics.COLOR_WHITE" background="Graphics.COLOR_TRANSPARENT" />
    <drawable id="graph" class="myGraphArea"></drawable>
</layout>
  

The custome drawable is defined as so:

class myGraphArea extends WatchUi.Drawable {

    private var _locX as Number;
    private var _locY as Number;
    private var _width as Number;
    private var _height as Number;

    function initialize(options) {
        
        Drawable.initialize(options);
    }
    
    function draw(dc as Dc) as Void {
        
        // clear chart area 
        dc.setColor(Graphics.COLOR_BLACK, Graphics.COLOR_BLACK);
        dc.fillRectangle(_locX, _locY, _width, _height);
        
        // logic to draw graph here...
    }

    function setLayout(x, y, width, height) {
        _locX = x;
        _locY = y;
        _height = height;
        _width = width;
    }

}

Currently, the way I define the location of the graph area is to call the setLayout function from my widget app class. from there I can set relative coordinates using dc.getWidth() and dc.getHeight(), however, it would be cleaner and easier to set all coordinates for all layout elements in one place, from within the layout. I know I can pass options to the custom drawable from the layouts file, but not sure how to pass a "relative coordinate", such as 50% of screen width.

One idea I had was to pass 0.5 in the options array, as so:

 <drawable id="graph" class="myGraphArea">
    <param name="rel_xLoc">0.5</param>
 </drawable>

And then calculate the coordinates in the initialize(options)function in the custom drawable:

function initialize(options) {
    _locX = options.get(:rel_xLoc) * dc.getWidth();
    
}

But from there I don't have access to the dc object so I cannot use dc.getWidth()

I really want to use relative layouts (I know they are memory heavy) but it makes the code a lot easier to work with. I just thought maybe there is some easy and clevel solution that I didn't think of. As always, highly appreciate your help. //Fredrik