openvg/openvgrefimplementation/sfopenvg/sfopenvg/riRasterizer.cpp
author Faisal Memon <faisal.memon@nokia.com>
Thu, 06 May 2010 15:31:43 +0100
branchNewGraphicsArchitecture
changeset 49 0ee978e37eb7
parent 6 250ac10a3d98
permissions -rw-r--r--
Apply patch 3. Many of the fixes in patch 3 are obseleted by updates made to the FCL. So the FCL head is taken in preference. This leaves only the hack in the display channel implementation to do not do a screen rotation on syborg. That solution is a bit hacky, but actually revised in a later patch.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
6
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
     1
/*------------------------------------------------------------------------
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
     2
 *
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
     3
 * OpenVG 1.1 Reference Implementation
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
     4
 * -----------------------------------
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
     5
 *
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
     6
 * Copyright (c) 2007 The Khronos Group Inc.
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
     7
 *
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
     8
 * Permission is hereby granted, free of charge, to any person obtaining a
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
     9
 * copy of this software and /or associated documentation files
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    10
 * (the "Materials "), to deal in the Materials without restriction,
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    11
 * including without limitation the rights to use, copy, modify, merge,
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    12
 * publish, distribute, sublicense, and/or sell copies of the Materials,
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    13
 * and to permit persons to whom the Materials are furnished to do so,
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    14
 * subject to the following conditions: 
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    15
 *
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    16
 * The above copyright notice and this permission notice shall be included 
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    17
 * in all copies or substantial portions of the Materials. 
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    18
 *
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    19
 * THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    20
 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    21
 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    22
 * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    23
 * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    24
 * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE MATERIALS OR
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    25
 * THE USE OR OTHER DEALINGS IN THE MATERIALS.
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    26
 *
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    27
 *//**
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    28
 * \file
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    29
 * \brief	Implementation of polygon rasterizer.
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    30
 * \note	
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    31
 *//*-------------------------------------------------------------------*/
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    32
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    33
#include "riRasterizer.h"
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    34
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    35
//==============================================================================================
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    36
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    37
namespace OpenVGRI
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    38
{
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    39
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    40
/*-------------------------------------------------------------------*//*!
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    41
* \brief	Rasterizer constructor.
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    42
* \param	
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    43
* \return	
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    44
* \note		
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    45
*//*-------------------------------------------------------------------*/
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    46
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    47
Rasterizer::Rasterizer() :
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    48
	m_edges(),
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    49
	m_scissorEdges(),
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    50
	m_scissor(false),
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    51
	m_samples(),
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    52
	m_numSamples(0),
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    53
	m_numFSAASamples(0),
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    54
	m_sumWeights(0.0f),
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    55
	m_sampleRadius(0.0f),
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    56
    m_vpx(0),
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    57
    m_vpy(0),
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    58
    m_vpwidth(0),
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    59
    m_vpheight(0),
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    60
    m_fillRule(VG_EVEN_ODD),
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    61
    m_pixelPipe(NULL),
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    62
    m_covBuffer(NULL)
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    63
{}
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    64
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    65
/*-------------------------------------------------------------------*//*!
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    66
* \brief	Rasterizer destructor.
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    67
* \param	
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    68
* \return	
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    69
* \note		
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    70
*//*-------------------------------------------------------------------*/
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    71
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    72
Rasterizer::~Rasterizer()
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    73
{
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    74
}
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    75
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    76
/*-------------------------------------------------------------------*//*!
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    77
* \brief	Removes all appended edges.
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    78
* \param	
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    79
* \return	
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    80
* \note		
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    81
*//*-------------------------------------------------------------------*/
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    82
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    83
void Rasterizer::clear()
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    84
{
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    85
	m_edges.clear();
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    86
    m_edgeMin.set(RI_FLOAT_MAX, RI_FLOAT_MAX);
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    87
    m_edgeMax.set(-RI_FLOAT_MAX, -RI_FLOAT_MAX);
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    88
}
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    89
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    90
/*-------------------------------------------------------------------*//*!
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    91
* \brief	Appends an edge to the rasterizer.
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    92
* \param	
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    93
* \return	
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    94
* \note		
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    95
*//*-------------------------------------------------------------------*/
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    96
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    97
void Rasterizer::addBBox(const Vector2& v)
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    98
{
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
    99
    if(v.x < m_edgeMin.x) m_edgeMin.x = v.x;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   100
    if(v.y < m_edgeMin.y) m_edgeMin.y = v.y;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   101
    if(v.x > m_edgeMax.x) m_edgeMax.x = v.x;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   102
    if(v.y > m_edgeMax.y) m_edgeMax.y = v.y;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   103
}
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   104
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   105
void Rasterizer::addEdge(const Vector2& v0, const Vector2& v1)
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   106
{
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   107
	if( m_edges.size() >= RI_MAX_EDGES )
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   108
		throw std::bad_alloc();	//throw an out of memory error if there are too many edges
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   109
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   110
	if(v0.y == v1.y)
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   111
		return;	//skip horizontal edges (they don't affect rasterization since we scan horizontally)
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   112
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   113
	Edge e;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   114
	if(v0.y < v1.y)
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   115
	{	//edge is going upward
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   116
		e.v0 = v0;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   117
		e.v1 = v1;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   118
		e.direction = 1;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   119
	}
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   120
	else
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   121
	{	//edge is going downward
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   122
		e.v0 = v1;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   123
		e.v1 = v0;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   124
		e.direction = -1;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   125
	}
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   126
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   127
    addBBox(v0);
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   128
    addBBox(v1);
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   129
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   130
	m_edges.push_back(e);	//throws bad_alloc
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   131
}
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   132
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   133
/*-------------------------------------------------------------------*//*!
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   134
* \brief	Set up rasterizer
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   135
* \param	
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   136
* \return	
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   137
* \note		
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   138
*//*-------------------------------------------------------------------*/
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   139
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   140
void Rasterizer::setup(int vpx, int vpy, int vpwidth, int vpheight, VGFillRule fillRule, const PixelPipe* pixelPipe, unsigned int* covBuffer)
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   141
{
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   142
	RI_ASSERT(vpwidth >= 0 && vpheight >= 0);
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   143
	RI_ASSERT(vpx + vpwidth >= vpx && vpy + vpheight >= vpy);
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   144
	RI_ASSERT(fillRule == VG_EVEN_ODD || fillRule == VG_NON_ZERO);
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   145
    RI_ASSERT(pixelPipe || covBuffer);
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   146
    m_vpx = vpx;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   147
    m_vpy = vpy;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   148
    m_vpwidth = vpwidth;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   149
    m_vpheight = vpheight;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   150
    m_fillRule = fillRule;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   151
    m_pixelPipe = pixelPipe;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   152
    m_covBuffer = covBuffer;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   153
    m_covMinx = vpx+vpwidth;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   154
    m_covMiny = vpy+vpheight;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   155
    m_covMaxx = vpx;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   156
    m_covMaxy = vpy;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   157
}
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   158
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   159
/*-------------------------------------------------------------------*//*!
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   160
* \brief	Sets scissor rectangles.
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   161
* \param	
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   162
* \return	
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   163
* \note		
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   164
*//*-------------------------------------------------------------------*/
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   165
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   166
void Rasterizer::setScissor(const Array<Rectangle>& scissors)
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   167
{
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   168
	m_scissor = true;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   169
	try
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   170
	{
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   171
		m_scissorEdges.clear();
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   172
		for(int i=0;i<scissors.size();i++)
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   173
		{
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   174
			if(scissors[i].width > 0 && scissors[i].height > 0)
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   175
			{
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   176
				ScissorEdge e;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   177
				e.miny = scissors[i].y;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   178
				e.maxy = RI_INT_ADDSATURATE(scissors[i].y, scissors[i].height);
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   179
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   180
				e.x = scissors[i].x;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   181
				e.direction = 1;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   182
				m_scissorEdges.push_back(e);	//throws bad_alloc
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   183
				e.x = RI_INT_ADDSATURATE(scissors[i].x, scissors[i].width);
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   184
				e.direction = -1;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   185
				m_scissorEdges.push_back(e);	//throws bad_alloc
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   186
			}
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   187
		}
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   188
	}
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   189
	catch(std::bad_alloc)
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   190
	{
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   191
		m_scissorEdges.clear();
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   192
		throw;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   193
	}
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   194
}
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   195
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   196
/*-------------------------------------------------------------------*//*!
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   197
* \brief	Returns a radical inverse of a given integer for Hammersley
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   198
*			point set.
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   199
* \param	
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   200
* \return	
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   201
* \note		
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   202
*//*-------------------------------------------------------------------*/
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   203
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   204
static double radicalInverseBase2(unsigned int i)
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   205
{
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   206
	if( i == 0 )
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   207
		return 0.0;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   208
	double p = 0.0;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   209
	double f = 0.5;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   210
	double ff = f;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   211
	for(unsigned int j=0;j<32;j++)
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   212
	{
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   213
		if( i & (1<<j) )
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   214
			p += f;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   215
		f *= ff;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   216
	}
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   217
	return p;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   218
}
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   219
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   220
/*-------------------------------------------------------------------*//*!
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   221
* \brief	Calls PixelPipe::pixelPipe for each pixel with coverage greater
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   222
*			than zero.
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   223
* \param	
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   224
* \return	
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   225
* \note		
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   226
*//*-------------------------------------------------------------------*/
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   227
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   228
int Rasterizer::setupSamplingPattern(VGRenderingQuality renderingQuality, int numFSAASamples)
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   229
{
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   230
	RI_ASSERT(renderingQuality == VG_RENDERING_QUALITY_NONANTIALIASED ||
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   231
			  renderingQuality == VG_RENDERING_QUALITY_FASTER ||
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   232
			  renderingQuality == VG_RENDERING_QUALITY_BETTER);
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   233
	RI_ASSERT(numFSAASamples > 0 && numFSAASamples <= RI_MAX_SAMPLES);
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   234
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   235
	//make a sampling pattern
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   236
	m_sumWeights = 0.0f;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   237
	m_sampleRadius = 0.0f;		//max offset of the sampling points from a pixel center
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   238
	m_numFSAASamples = numFSAASamples;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   239
	if(numFSAASamples == 1)
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   240
	{
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   241
		if(renderingQuality == VG_RENDERING_QUALITY_NONANTIALIASED)
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   242
		{
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   243
			m_numSamples = 1;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   244
			m_samples[0].x = 0.0f;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   245
			m_samples[0].y = 0.0f;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   246
			m_samples[0].weight = 1.0f;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   247
			m_sampleRadius = 0.0f;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   248
			m_sumWeights = 1.0f;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   249
		}
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   250
		else if(renderingQuality == VG_RENDERING_QUALITY_FASTER)
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   251
		{	//box filter of diameter 1.0f, 8-queen sampling pattern
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   252
			m_numSamples = 8;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   253
			m_samples[0].x = 3;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   254
			m_samples[1].x = 7;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   255
			m_samples[2].x = 0;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   256
			m_samples[3].x = 2;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   257
			m_samples[4].x = 5;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   258
			m_samples[5].x = 1;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   259
			m_samples[6].x = 6;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   260
			m_samples[7].x = 4;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   261
			for(int i=0;i<m_numSamples;i++)
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   262
			{
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   263
				m_samples[i].x = (m_samples[i].x + 0.5f) / (RScalar)m_numSamples - 0.5f;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   264
				m_samples[i].y = ((RScalar)i + 0.5f) / (RScalar)m_numSamples - 0.5f;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   265
				m_samples[i].weight = 1.0f / (RScalar)m_numSamples;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   266
				m_sumWeights += m_samples[i].weight;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   267
			}
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   268
			m_sampleRadius = 0.5f;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   269
		}
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   270
		else
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   271
		{
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   272
			RI_ASSERT(renderingQuality == VG_RENDERING_QUALITY_BETTER);
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   273
			m_numSamples = RI_MAX_SAMPLES;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   274
			m_sampleRadius = 0.75f;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   275
			for(int i=0;i<m_numSamples;i++)
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   276
			{	//Gaussian filter, implemented using Hammersley point set for sample point locations
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   277
				RScalar x = (RScalar)radicalInverseBase2(i);
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   278
				RScalar y = ((RScalar)i + 0.5f) / (RScalar)m_numSamples;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   279
				RI_ASSERT(x >= 0.0f && x < 1.0f);
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   280
				RI_ASSERT(y >= 0.0f && y < 1.0f);
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   281
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   282
				//map unit square to unit circle
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   283
				RScalar r = (RScalar)sqrt(x) * m_sampleRadius;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   284
				x = r * (RScalar)sin(y*2.0f*PI);
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   285
				y = r * (RScalar)cos(y*2.0f*PI);
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   286
				m_samples[i].weight = (RScalar)exp(-0.5f * RI_SQR(r/m_sampleRadius));
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   287
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   288
				RI_ASSERT(x >= -1.5f && x <= 1.5f && y >= -1.5f && y <= 1.5f);	//the specification restricts the filter radius to be less than or equal to 1.5
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   289
				
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   290
				m_samples[i].x = x;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   291
				m_samples[i].y = y;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   292
				m_sumWeights += m_samples[i].weight;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   293
			}
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   294
		}
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   295
	}
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   296
	else
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   297
	{	//box filter
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   298
        m_numSamples = numFSAASamples;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   299
        RI_ASSERT(numFSAASamples >= 1 && numFSAASamples <= 32);	//sample mask is a 32-bit uint => can't support more than 32 samples
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   300
		//use Hammersley point set as a sampling pattern
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   301
        for(int i=0;i<m_numSamples;i++)
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   302
        {
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   303
            m_samples[i].x = (RScalar)radicalInverseBase2(i) + 1.0f / (RScalar)(m_numSamples<<1) - 0.5f;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   304
            m_samples[i].y = ((RScalar)i + 0.5f) / (RScalar)m_numSamples - 0.5f;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   305
            m_samples[i].weight = 1.0f;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   306
			RI_ASSERT(m_samples[i].x > -0.5f && m_samples[i].x < 0.5f);
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   307
			RI_ASSERT(m_samples[i].y > -0.5f && m_samples[i].y < 0.5f);
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   308
        }
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   309
        m_sumWeights = (RScalar)m_numSamples;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   310
        m_sampleRadius = 0.5f;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   311
	}
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   312
    return m_numSamples;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   313
}
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   314
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   315
/*-------------------------------------------------------------------*//*!
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   316
* \brief	Calls PixelPipe::pixelPipe for each pixel with coverage greater
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   317
*			than zero.
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   318
* \param	
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   319
* \return	
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   320
* \note		
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   321
*//*-------------------------------------------------------------------*/
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   322
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   323
void Rasterizer::fill()
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   324
{
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   325
	if(m_scissor && !m_scissorEdges.size())
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   326
		return;	//scissoring is on, but there are no scissor rectangles => nothing is visible
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   327
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   328
	//proceed scanline by scanline
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   329
	//keep track of edges that can intersect the pixel filters of the current scanline (Active Edge Table)
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   330
	//until all pixels of the scanline have been processed
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   331
	//  for all sampling points of the current pixel
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   332
	//    determine the winding number using edge functions
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   333
	//    add filter weight to coverage
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   334
	//  divide coverage by the number of samples
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   335
	//  determine a run of pixels with constant coverage
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   336
	//  call fill callback for each pixel of the run
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   337
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   338
	int fillRuleMask = 1;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   339
	if(m_fillRule == VG_NON_ZERO)
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   340
		fillRuleMask = -1;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   341
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   342
    int bbminx = (int)floor(m_edgeMin.x);
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   343
    int bbminy = (int)floor(m_edgeMin.y);
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   344
    int bbmaxx = (int)floor(m_edgeMax.x)+1;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   345
    int bbmaxy = (int)floor(m_edgeMax.y)+1;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   346
    int sx = RI_INT_MAX(m_vpx, bbminx);
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   347
    int ex = RI_INT_MIN(m_vpx+m_vpwidth, bbmaxx);
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   348
    int sy = RI_INT_MAX(m_vpy, bbminy);
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   349
    int ey = RI_INT_MIN(m_vpy+m_vpheight, bbmaxy);
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   350
    if(sx < m_covMinx) m_covMinx = sx;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   351
    if(sy < m_covMiny) m_covMiny = sy;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   352
    if(ex > m_covMaxx) m_covMaxx = ex;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   353
    if(ey > m_covMaxy) m_covMaxy = ey;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   354
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   355
	//fill the screen
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   356
	Array<ActiveEdge> aet;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   357
	Array<ScissorEdge> scissorAet;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   358
	for(int j=sy;j<ey;j++)
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   359
	{
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   360
		//gather scissor edges intersecting this scanline
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   361
		scissorAet.clear();
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   362
		if( m_scissor )
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   363
		{
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   364
			for(int e=0;e<m_scissorEdges.size();e++)
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   365
			{
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   366
				const ScissorEdge& se = m_scissorEdges[e];
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   367
				if(j >= se.miny && j < se.maxy)
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   368
					scissorAet.push_back(m_scissorEdges[e]);	//throws bad_alloc
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   369
			}
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   370
			if(!scissorAet.size())
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   371
				continue;	//scissoring is on, but there are no scissor rectangles on this scanline
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   372
		}
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   373
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   374
		//simple AET: scan through all the edges and pick the ones intersecting this scanline
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   375
		aet.clear();
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   376
		for(int e=0;e<m_edges.size();e++)
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   377
		{
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   378
			RScalar cminy = (RScalar)j - m_sampleRadius + 0.5f;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   379
			RScalar cmaxy = (RScalar)j + m_sampleRadius + 0.5f;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   380
			const Edge& ed = m_edges[e];
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   381
			RI_ASSERT(ed.v0.y <= ed.v1.y);	//horizontal edges should have been dropped already
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   382
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   383
			ActiveEdge ae;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   384
			ae.v0 = ed.v0;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   385
			ae.v1 = ed.v1;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   386
			ae.direction = ed.direction;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   387
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   388
			if(cmaxy >= ae.v0.y && cminy < ae.v1.y)
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   389
			{
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   390
				ae.n.set(ae.v0.y - ae.v1.y, ae.v1.x - ae.v0.x);	//edge normal
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   391
				ae.cnst = ae.v0.x * ae.n.x + ae.v0.y * ae.n.y;	//distance of v0 from the origin along the edge normal
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   392
				
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   393
				//compute edge min and max x-coordinates for this scanline
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   394
				Vector2 vd(ae.v1.x - ae.v0.x, ae.v1.y - ae.v0.y);
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   395
				RScalar wl = 1.0f / vd.y;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   396
				RScalar sx = ae.v0.x + vd.x * (cminy - ae.v0.y) * wl;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   397
				RScalar ex = ae.v0.x + vd.x * (cmaxy - ae.v0.y) * wl;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   398
				RScalar bminx = RI_MIN(ae.v0.x, ae.v1.x);
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   399
				RScalar bmaxx = RI_MAX(ae.v0.x, ae.v1.x);
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   400
				sx = RI_CLAMP(sx, bminx, bmaxx);
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   401
				ex = RI_CLAMP(ex, bminx, bmaxx);
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   402
				ae.minx = RI_MIN(sx,ex);
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   403
				ae.maxx = RI_MAX(sx,ex);
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   404
				aet.push_back(ae);	//throws bad_alloc
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   405
			}
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   406
		}
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   407
		if(!aet.size())
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   408
			continue;	//no edges on the whole scanline, skip it
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   409
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   410
		//sort AET by edge minx
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   411
		aet.sort();
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   412
		
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   413
		//sort scissor AET by edge x
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   414
		scissorAet.sort();
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   415
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   416
		//fill the scanline
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   417
		int scissorWinding = m_scissor ? 0 : 1;	//if scissoring is off, winding is always 1
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   418
		int scissorIndex = 0;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   419
		int aes = 0;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   420
		int aen = 0;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   421
		for(int i=sx;i<ex;)
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   422
		{
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   423
			Vector2 pc(i + 0.5f, j + 0.5f);		//pixel center
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   424
			
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   425
			//find edges that intersect or are to the left of the pixel antialiasing filter
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   426
			while(aes < aet.size() && pc.x + m_sampleRadius >= aet[aes].minx)
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   427
				aes++;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   428
			//edges [0,aes[ may have an effect on winding, and need to be evaluated while sampling
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   429
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   430
			//compute coverage
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   431
			RScalar coverage = 0.0f;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   432
			unsigned int sampleMask = 0;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   433
			for(int s=0;s<m_numSamples;s++)
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   434
			{
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   435
				Vector2 sp = pc;	//sampling point
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   436
				sp.x += m_samples[s].x;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   437
				sp.y += m_samples[s].y;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   438
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   439
				//compute winding number by evaluating the edge functions of edges to the left of the sampling point
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   440
				int winding = 0;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   441
				for(int e=0;e<aes;e++)
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   442
				{
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   443
					if(sp.y >= aet[e].v0.y && sp.y < aet[e].v1.y)
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   444
					{	//evaluate edge function to determine on which side of the edge the sampling point lies
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   445
						RScalar side = sp.x * aet[e].n.x + sp.y * aet[e].n.y - aet[e].cnst;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   446
						if(side <= 0.0f)	//implicit tie breaking: a sampling point on an opening edge is in, on a closing edge it's out
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   447
						{
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   448
                            winding += aet[e].direction;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   449
						}
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   450
					}
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   451
				}
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   452
                if(winding & fillRuleMask)
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   453
				{
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   454
					coverage += m_samples[s].weight;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   455
					sampleMask |= (unsigned int)(1<<s);
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   456
				}
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   457
			}
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   458
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   459
			//constant coverage optimization:
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   460
			//scan AET from left to right and skip all the edges that are completely to the left of the pixel filter.
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   461
			//since AET is sorted by minx, the edge we stop at is the leftmost of the edges we haven't passed yet.
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   462
			//if that edge is to the right of this pixel, coverage is constant between this pixel and the start of the edge.
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   463
			while(aen < aet.size() && aet[aen].maxx < pc.x - m_sampleRadius - 0.01f)	//0.01 is a safety region to prevent too aggressive optimization due to numerical inaccuracy
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   464
				aen++;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   465
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   466
			int endSpan = m_vpx + m_vpwidth;	//endSpan is the first pixel NOT part of the span
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   467
			if(aen < aet.size())
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   468
				endSpan = RI_INT_MAX(i+1, RI_INT_MIN(endSpan, (int)ceil(aet[aen].minx - m_sampleRadius - 0.5f)));
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   469
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   470
			coverage /= m_sumWeights;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   471
			RI_ASSERT(coverage >= 0.0f && coverage <= 1.0f);
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   472
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   473
			//fill a run of pixels with constant coverage
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   474
			if(sampleMask)
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   475
			{
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   476
				for(;i<endSpan;i++)
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   477
				{
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   478
					//update scissor winding number
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   479
					while(scissorIndex < scissorAet.size() && scissorAet[scissorIndex].x <= i)
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   480
						scissorWinding += scissorAet[scissorIndex++].direction;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   481
					RI_ASSERT(scissorWinding >= 0);
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   482
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   483
					if(scissorWinding)
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   484
                    {
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   485
                        if(m_covBuffer)
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   486
                            m_covBuffer[j*m_vpwidth+i] |= (RIuint32)sampleMask;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   487
                        else
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   488
                            m_pixelPipe->pixelPipe(i, j, coverage, sampleMask);
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   489
                    }
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   490
				}
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   491
			}
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   492
			i = endSpan;
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   493
		}
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   494
	}
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   495
}
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   496
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   497
//=======================================================================
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   498
250ac10a3d98 transplant of the KhronosRI work done on the SFL repo until changeset 22d01ad3515c - Includes 'Bug 1394 - KhronosRI - armv5 def files missing', 'Bug 1395 - KhronosRI - RVCT doesn't like 'OpenVGRI' qualified helper function names', and the ongoing work on 'Bug 31 - OpenVG implementation is a stub, so no icons or window decorations are displayed.'
MattD <mattd@symbian.org>
parents:
diff changeset
   499
}	//namespace OpenVGRI