this needs to be consistent with the border drawing code  i e  fill not stroke to get it to paint the difference between two roundrects  you can call something like gfx  scopedcanvas save canvas skrrect outer rect skrrect  makerectxy gfx  recttoskrect local bounds skrrect inner rect outer rect inner rect inset sk canvas cliprrect inner  skclipop  kintersect  true canvas  sk canvas drawrrect outer rect  flags note this does not need any of these hacks  but  this is not taking into account scale factor it will draw a focus borer of dip  not pixel  that might be incorrect  i am sorta hoping we can keep this drawing logic all in a general purpose routine  like paintomniboxrect canvas  skcolor inner  skcolor border  float radius  gfx rect bounds undo scale factor gfx  scopedcanvas save canvas skrrect outer rect skrrect  makerectxy gfx  recttoskrect local bounds scale xx radius xx  radius xx skrrect inner rect outer rect inner rect inset make paint flags set color outer if  inner transparent focus ring  clip out inner sk canvas cliprrect inner  skclipop  kintersect  true canvas  sk canvas drawrrect outer rect  flags if  inner transparent return set color inner canvas  sk canvas drawrrect inner rect  flags  