we don't need to update cur_fill_color unless `is_filled` is true.
same for storke color below