jdk/src/java.desktop/share/classes/sun/java2d/marlin/MarlinConst.java
author lbourges
Wed, 15 Jun 2016 21:43:39 +0200
changeset 39519 21bfc4452441
parent 34816 5ff696b1bbac
child 40421 d5ee65e2b0fb
permissions -rw-r--r--
8159093: Fix coding conventions in Marlin renderer Summary: capital letters for constants and use rdrCtx.stats (field) Reviewed-by: flar, prr
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
34417
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
     1
/*
39519
21bfc4452441 8159093: Fix coding conventions in Marlin renderer
lbourges
parents: 34816
diff changeset
     2
 * Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
34417
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
     3
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
     4
 *
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
     5
 * This code is free software; you can redistribute it and/or modify it
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
     6
 * under the terms of the GNU General Public License version 2 only, as
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
     7
 * published by the Free Software Foundation.  Oracle designates this
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
     8
 * particular file as subject to the "Classpath" exception as provided
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
     9
 * by Oracle in the LICENSE file that accompanied this code.
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
    10
 *
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
    11
 * This code is distributed in the hope that it will be useful, but WITHOUT
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
    12
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
    13
 * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
    14
 * version 2 for more details (a copy is included in the LICENSE file that
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
    15
 * accompanied this code).
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
    16
 *
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
    17
 * You should have received a copy of the GNU General Public License version
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
    18
 * 2 along with this work; if not, write to the Free Software Foundation,
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
    19
 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
    20
 *
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
    21
 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
    22
 * or visit www.oracle.com if you need additional information or have any
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
    23
 * questions.
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
    24
 */
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
    25
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
    26
package sun.java2d.marlin;
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
    27
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
    28
/**
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
    29
 * Marlin constant holder using System properties
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
    30
 */
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
    31
interface MarlinConst {
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
    32
    // enable Logs (logger or stdout)
39519
21bfc4452441 8159093: Fix coding conventions in Marlin renderer
lbourges
parents: 34816
diff changeset
    33
    static final boolean ENABLE_LOGS = MarlinProperties.isLoggingEnabled();
34816
5ff696b1bbac 8144654: Improve Marlin logging
lbourges
parents: 34689
diff changeset
    34
    // use Logger instead of stdout
39519
21bfc4452441 8159093: Fix coding conventions in Marlin renderer
lbourges
parents: 34816
diff changeset
    35
    static final boolean USE_LOGGER = ENABLE_LOGS && MarlinProperties.isUseLogger();
34417
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
    36
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
    37
    // log new RendererContext
39519
21bfc4452441 8159093: Fix coding conventions in Marlin renderer
lbourges
parents: 34816
diff changeset
    38
    static final boolean LOG_CREATE_CONTEXT = ENABLE_LOGS
34417
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
    39
        && MarlinProperties.isLogCreateContext();
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
    40
    // log misc.Unsafe alloc/realloc/free
39519
21bfc4452441 8159093: Fix coding conventions in Marlin renderer
lbourges
parents: 34816
diff changeset
    41
    static final boolean LOG_UNSAFE_MALLOC = ENABLE_LOGS
34417
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
    42
        && MarlinProperties.isLogUnsafeMalloc();
34689
4b5bf9f960c8 8145055: Marlin renderer causes unaligned write accesses
lbourges
parents: 34417
diff changeset
    43
    // do check unsafe alignment:
39519
21bfc4452441 8159093: Fix coding conventions in Marlin renderer
lbourges
parents: 34816
diff changeset
    44
    static final boolean DO_CHECK_UNSAFE = false;
34417
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
    45
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
    46
    // do statistics
39519
21bfc4452441 8159093: Fix coding conventions in Marlin renderer
lbourges
parents: 34816
diff changeset
    47
    static final boolean DO_STATS = ENABLE_LOGS && MarlinProperties.isDoStats();
34417
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
    48
    // do monitors
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
    49
    // disabled to reduce byte-code size a bit...
39519
21bfc4452441 8159093: Fix coding conventions in Marlin renderer
lbourges
parents: 34816
diff changeset
    50
    static final boolean DO_MONITORS = false;
21bfc4452441 8159093: Fix coding conventions in Marlin renderer
lbourges
parents: 34816
diff changeset
    51
//    static final boolean DO_MONITORS = ENABLE_LOGS && MarlinProperties.isDoMonitors();
34417
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
    52
    // do checks
39519
21bfc4452441 8159093: Fix coding conventions in Marlin renderer
lbourges
parents: 34816
diff changeset
    53
    static final boolean DO_CHECKS = ENABLE_LOGS && MarlinProperties.isDoChecks();
34417
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
    54
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
    55
    // do AA range checks: disable when algorithm / code is stable
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
    56
    static final boolean DO_AA_RANGE_CHECK = false;
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
    57
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
    58
    // enable logs
39519
21bfc4452441 8159093: Fix coding conventions in Marlin renderer
lbourges
parents: 34816
diff changeset
    59
    static final boolean DO_LOG_WIDEN_ARRAY = ENABLE_LOGS && false;
34417
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
    60
    // enable oversize logs
39519
21bfc4452441 8159093: Fix coding conventions in Marlin renderer
lbourges
parents: 34816
diff changeset
    61
    static final boolean DO_LOG_OVERSIZE = ENABLE_LOGS && false;
34417
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
    62
    // enable traces
39519
21bfc4452441 8159093: Fix coding conventions in Marlin renderer
lbourges
parents: 34816
diff changeset
    63
    static final boolean DO_TRACE = ENABLE_LOGS && false;
21bfc4452441 8159093: Fix coding conventions in Marlin renderer
lbourges
parents: 34816
diff changeset
    64
34417
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
    65
    // do flush monitors
39519
21bfc4452441 8159093: Fix coding conventions in Marlin renderer
lbourges
parents: 34816
diff changeset
    66
    static final boolean DO_FLUSH_MONITORS = true;
34417
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
    67
    // use one polling thread to dump statistics/monitors
39519
21bfc4452441 8159093: Fix coding conventions in Marlin renderer
lbourges
parents: 34816
diff changeset
    68
    static final boolean USE_DUMP_THREAD = false;
34417
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
    69
    // thread dump interval (ms)
39519
21bfc4452441 8159093: Fix coding conventions in Marlin renderer
lbourges
parents: 34816
diff changeset
    70
    static final long DUMP_INTERVAL = 5000L;
34417
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
    71
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
    72
    // do clean dirty array
39519
21bfc4452441 8159093: Fix coding conventions in Marlin renderer
lbourges
parents: 34816
diff changeset
    73
    static final boolean DO_CLEAN_DIRTY = false;
34417
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
    74
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
    75
    // flag to use line simplifier
39519
21bfc4452441 8159093: Fix coding conventions in Marlin renderer
lbourges
parents: 34816
diff changeset
    76
    static final boolean USE_SIMPLIFIER = MarlinProperties.isUseSimplifier();
34417
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
    77
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
    78
    // flag to enable logs related bounds checks
39519
21bfc4452441 8159093: Fix coding conventions in Marlin renderer
lbourges
parents: 34816
diff changeset
    79
    static final boolean DO_LOG_BOUNDS = ENABLE_LOGS && false;
34417
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
    80
39519
21bfc4452441 8159093: Fix coding conventions in Marlin renderer
lbourges
parents: 34816
diff changeset
    81
    // Initial Array sizing (initial context capacity) ~ 350K
34417
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
    82
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
    83
    // 2048 pixel (width x height) for initial capacity
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
    84
    static final int INITIAL_PIXEL_DIM
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
    85
        = MarlinProperties.getInitialImageSize();
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
    86
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
    87
    // typical array sizes: only odd numbers allowed below
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
    88
    static final int INITIAL_ARRAY        = 256;
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
    89
    static final int INITIAL_SMALL_ARRAY  = 1024;
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
    90
    static final int INITIAL_MEDIUM_ARRAY = 4096;
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
    91
    static final int INITIAL_LARGE_ARRAY  = 8192;
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
    92
    // alpha row dimension
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
    93
    static final int INITIAL_AA_ARRAY     = INITIAL_PIXEL_DIM;
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
    94
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
    95
    // initial edges (24 bytes) = 24K [ints] = 96K
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
    96
    static final int INITIAL_EDGES_CAPACITY = 4096 * 24; // 6 ints per edges
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
    97
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
    98
    // zero value as byte
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
    99
    static final byte BYTE_0 = (byte) 0;
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
   100
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
   101
    // subpixels expressed as log2
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
   102
    public static final int SUBPIXEL_LG_POSITIONS_X
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
   103
        = MarlinProperties.getSubPixel_Log2_X();
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
   104
    public static final int SUBPIXEL_LG_POSITIONS_Y
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
   105
        = MarlinProperties.getSubPixel_Log2_Y();
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
   106
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
   107
    // number of subpixels
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
   108
    public static final int SUBPIXEL_POSITIONS_X = 1 << (SUBPIXEL_LG_POSITIONS_X);
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
   109
    public static final int SUBPIXEL_POSITIONS_Y = 1 << (SUBPIXEL_LG_POSITIONS_Y);
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
   110
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
   111
    public static final float NORM_SUBPIXELS
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
   112
        = (float)Math.sqrt(( SUBPIXEL_POSITIONS_X * SUBPIXEL_POSITIONS_X
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
   113
                           + SUBPIXEL_POSITIONS_Y * SUBPIXEL_POSITIONS_Y)/2.0);
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
   114
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
   115
    public static final int MAX_AA_ALPHA
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
   116
        = SUBPIXEL_POSITIONS_X * SUBPIXEL_POSITIONS_Y;
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
   117
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
   118
    public static final int TILE_SIZE_LG = MarlinProperties.getTileSize_Log2();
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
   119
    public static final int TILE_SIZE = 1 << TILE_SIZE_LG; // 32 by default
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
   120
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
   121
    public static final int BLOCK_SIZE_LG = MarlinProperties.getBlockSize_Log2();
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
   122
    public static final int BLOCK_SIZE    = 1 << BLOCK_SIZE_LG;
57a3863abbb4 8076529: Marlin antialiasing renderer integration
flar
parents:
diff changeset
   123
}