Esempio n. 1
0
/* Only for custom sizes: */
static VALUE
rg_set_size(VALUE self, VALUE width, VALUE height, VALUE unit)
{
    gtk_paper_size_set_size(_SELF(self), NUM2DBL(width), NUM2DBL(height),
                            RVAL2UNIT(unit));
    return self;
}
NS_IMETHODIMP
nsPrintSettingsGTK::SetPaperHeight(double aPaperHeight)
{
    gtk_paper_size_set_size(mPaperSize,
                            gtk_paper_size_get_width(mPaperSize, GetGTKUnit(mPaperSizeUnit)),
                            aPaperHeight,
                            GetGTKUnit(mPaperSizeUnit));
    SaveNewPageSize();
    return NS_OK;
}
NS_IMETHODIMP
nsPrintSettingsGTK::SetPaperSizeUnit(int16_t aPaperSizeUnit)
{
    // Convert units internally. e.g. they might have set the values while we're still in mm but
    // they change to inch just afterwards, expecting that their sizes are in inches.
    gtk_paper_size_set_size(mPaperSize,
                            gtk_paper_size_get_width(mPaperSize, GetGTKUnit(mPaperSizeUnit)),
                            gtk_paper_size_get_height(mPaperSize, GetGTKUnit(mPaperSizeUnit)),
                            GetGTKUnit(aPaperSizeUnit));
    SaveNewPageSize();

    mPaperSizeUnit = aPaperSizeUnit;
    return NS_OK;
}