javaquery/api/src/main/java/org/apidesign/bck2brwsr/htmlpage/api/TextMetrics.java
author toni.epple@eppleton.de
Tue, 21 May 2013 16:10:52 +0200
branchcanvas
changeset 1125 a3d504d7e588
parent 1117 javaquery/api/src/main/java/org/apidesign/bck2brwsr/htmlpage/api/HTML5TextMetrics.java@848b2cc261e6
child 1134 0a2190f2a210
permissions -rw-r--r--
Refactored names to unpopular naming scheme, because (a) bck2brwsr Canvas implementation must be named Canvas due to mapping in bck2brwsr and I don't want interface and impl to have the same name. (b) with the "I" prefix at least it's consistent, even if nobody uses that anymore. (c) names are the same as in HTML5 Canvas Javascript API, so it's more familiar...
toni@521
     1
/**
toni@521
     2
 * Back 2 Browser Bytecode Translator
toni@521
     3
 * Copyright (C) 2012 Jaroslav Tulach <jaroslav.tulach@apidesign.org>
toni@521
     4
 *
toni@521
     5
 * This program is free software: you can redistribute it and/or modify
toni@521
     6
 * it under the terms of the GNU General Public License as published by
toni@521
     7
 * the Free Software Foundation, version 2 of the License.
toni@521
     8
 *
toni@521
     9
 * This program is distributed in the hope that it will be useful,
toni@521
    10
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
toni@521
    11
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
toni@521
    12
 * GNU General Public License for more details.
toni@521
    13
 *
toni@521
    14
 * You should have received a copy of the GNU General Public License
toni@521
    15
 * along with this program. Look for COPYING file in the top folder.
toni@521
    16
 * If not, see http://opensource.org/licenses/GPL-2.0.
toni@521
    17
 */
toni@521
    18
package org.apidesign.bck2brwsr.htmlpage.api;
toni@521
    19
toni@1125
    20
import net.java.html.canvas.ITextMetrics;
toni@521
    21
import org.apidesign.bck2brwsr.core.JavaScriptBody;
toni@521
    22
toni@521
    23
/**
toni@521
    24
 *
toni@521
    25
 * @author Anton Epple <toni.epple@eppleton.de>
toni@521
    26
 */
toni@1125
    27
public class TextMetrics implements ITextMetrics{
toni@521
    28
toni@521
    29
    private Object textMetrics;
toni@521
    30
toni@1125
    31
    TextMetrics(Object measureTextImpl) {
toni@521
    32
        this.textMetrics = measureTextImpl;
toni@521
    33
    }
toni@521
    34
toni@521
    35
    @JavaScriptBody(args = {"textMetrics"}, body = "return textMetrics.width;")
toni@521
    36
    private native double getWidth(Object textMetrics);
toni@521
    37
toni@521
    38
    @JavaScriptBody(args = {"textMetrics"}, body = "return textMetrics.height;")
toni@521
    39
    private native double getHeight(Object textMetrics);
toni@521
    40
toni@1117
    41
    @Override
toni@521
    42
    public double getWidth() {
toni@521
    43
        return getWidth(textMetrics);
toni@521
    44
    }
toni@521
    45
toni@1117
    46
    @Override
toni@521
    47
    public double getHeight() {
toni@521
    48
        return getHeight(textMetrics);
toni@521
    49
toni@521
    50
    }
toni@521
    51
}