/****************************************************************************
**
** Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies).
** All rights reserved.
** Contact: Nokia Corporation (qt-info@nokia.com)
**
** This file is part of the QtGui module of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:LGPL$
** GNU Lesser General Public License Usage
** This file may be used under the terms of the GNU Lesser General Public
** License version 2.1 as published by the Free Software Foundation and
** appearing in the file LICENSE.LGPL included in the packaging of this
** file. Please review the following information to ensure the GNU Lesser
** General Public License version 2.1 requirements will be met:
** http://www.gnu.org/licenses/old-licenses/lgpl-2.1.html.
**
** In addition, as a special exception, Nokia gives you certain additional
** rights. These rights are described in the Nokia Qt LGPL Exception
** version 1.1, included in the file LGPL_EXCEPTION.txt in this package.
**
** GNU General Public License Usage
** Alternatively, this file may be used under the terms of the GNU General
** Public License version 3.0 as published by the Free Software Foundation
** and appearing in the file LICENSE.GPL included in the packaging of this
** file. Please review the following information to ensure the GNU General
** Public License version 3.0 requirements will be met:
** http://www.gnu.org/copyleft/gpl.html.
**
** Other Usage
** Alternatively, this file may be used in accordance with the terms and
** conditions contained in a signed written agreement between you and Nokia.
**
**
**
**
**
** $QT_END_LICENSE$
**
****************************************************************************/
/***************************************************************************/
/* */
/* qgrayraster.c, derived from ftgrays.c */
/* */
/* A new `perfect' anti-aliasing renderer (body). */
/* */
/* Copyright 2000-2001, 2002, 2003 by */
/* David Turner, Robert Wilhelm, and Werner Lemberg. */
/* */
/* This file is part of the FreeType project, and may only be used, */
/* modified, and distributed under the terms of the FreeType project */
/* license, ../../3rdparty/freetype/docs/FTL.TXT. By continuing to use, */
/* modify, or distribute this file you indicate that you have read */
/* the license and understand and accept it fully. */
/* */
/***************************************************************************/
/*************************************************************************/
/* */
/* This file can be compiled without the rest of the FreeType engine, by */
/* defining the _STANDALONE_ macro when compiling it. You also need to */
/* put the files `ftgrays.h' and `ftimage.h' into the current */
/* compilation directory. Typically, you could do something like */
/* */
/* - copy `src/smooth/ftgrays.c' (this file) to your current directory */
/* */
/* - copy `include/freetype/ftimage.h' and `src/smooth/ftgrays.h' to the */
/* same directory */
/* */
/* - compile `ftgrays' with the _STANDALONE_ macro defined, as in */
/* */
/* cc -c -D_STANDALONE_ ftgrays.c */
/* */
/* The renderer can be initialized with a call to */
/* `qt_ft_gray_raster.raster_new'; an anti-aliased bitmap can be generated */
/* with a call to `qt_ft_gray_raster.raster_render'. */
/* */
/* See the comments and documentation in the file `ftimage.h' for more */
/* details on how the raster works. */
/* */
/*************************************************************************/
/*************************************************************************/
/* */
/* This is a new anti-aliasing scan-converter for FreeType 2. The */
/* algorithm used here is _very_ different from the one in the standard */
/* `ftraster' module. Actually, `ftgrays' computes the _exact_ */
/* coverage of the outline on each pixel cell. */
/* */
/* It is based on ideas that I initially found in Raph Levien's */
/* excellent LibArt graphics library (see http://www.levien.com/libart */
/* for more information, though the web pages do not tell anything */
/* about the renderer; you'll have to dive into the source code to */
/* understand how it works). */
/* */
/* Note, however, that this is a _very_ different implementation */
/* compared to Raph's. Coverage information is stored in a very */
/* different way, and I don't use sorted vector paths. Also, it doesn't */
/* use floating point values. */
/* */
/* This renderer has the following advantages: */
/* */
/* - It doesn't need an intermediate bitmap. Instead, one can supply a */
/* callback function that will be called by the renderer to draw gray */
/* spans on any target surface. You can thus do direct composition on */
/* any kind of bitmap, provided that you give the renderer the right */
/* callback. */
/* */
/* - A perfect anti-aliaser, i.e., it computes the _exact_ coverage on */
/* each pixel cell. */
/* */
/* - It performs a single pass on the outline (the `standard' FT2 */
/* renderer makes two passes). */
/* */
/* - It can easily be modified to render to _any_ number of gray levels */
/* cheaply. */
/* */
/* - For small (< 20) pixel sizes, it is faster than the standard */
/* renderer. */
/* */
/*********************************************************************
没有合适的资源?快使用搜索试试~ 我知道了~
C++ Qt bindings for Node.js.zip
共2000个文件
h:1998个
md:1个
c:1个
需积分: 5 0 下载量 87 浏览量
2024-01-01
15:51:33
上传
评论
收藏 16.25MB ZIP 举报
温馨提示
C++ Qt bindings for Node.js
资源推荐
资源详情
资源评论
收起资源包目录
C++ Qt bindings for Node.js.zip (2000个子文件)
qgrayraster.c 57KB
qglobal.h 88KB
qrasterdefs_p.h 80KB
qdrawhelper_p.h 70KB
qstring.h 61KB
qnamespace.h 54KB
qtconcurrentstoredfunctioncall.h 53KB
qgraphicsitem.h 41KB
qgraphicsitem.h 40KB
qkbd_defaultmap_qws_p.h 38KB
qwidget.h 38KB
qpainter.h 34KB
qpainter.h 33KB
qmatrix4x4.h 33KB
qmap.h 33KB
qmatrix4x4.h 32KB
qtextformat.h 31KB
qtextformat.h 30KB
qhash.h 30KB
qdrawhelper_mmx_p.h 29KB
qlist.h 29KB
qstyleoption.h 29KB
qgraphicsitem_p.h 28KB
qevent.h 28KB
qstyle.h 28KB
qstyleoption.h 28KB
qsharedpointer_impl.h 27KB
qatomic_mips.h 27KB
qgtkstyle_p.h 27KB
qevent.h 27KB
qstyle.h 27KB
qvector.h 26KB
qfragmentmap_p.h 26KB
qatomic_alpha.h 25KB
qatomic_ia64.h 25KB
qwscommand_qws_p.h 25KB
qs60style_p.h 25KB
qcssparser_p.h 25KB
qlocale.h 24KB
qbytearray.h 23KB
qtextengine_p.h 23KB
qatomic_powerpc.h 22KB
qrect.h 21KB
qfeatures.h 21KB
qtconcurrentrun.h 20KB
qblendfunctions_p.h 20KB
qgraphicsanchorlayout_p.h 20KB
qlistview_p.h 19KB
qvariant.h 18KB
qxmlstream.h 18KB
qobjectdefs.h 17KB
qatomic_sh4a.h 17KB
qtreewidget.h 17KB
qaccessible.h 17KB
qtreewidget.h 17KB
qabstractitemview_p.h 16KB
qatomic_sparc.h 16KB
qpaintengine_raster_p.h 16KB
qaccessible.h 16KB
qatomic_armv6.h 16KB
qabstractitemmodel.h 16KB
qlinecontrol_p.h 16KB
qgridlayoutengine_p.h 16KB
qalgorithms.h 16KB
qstandarditemmodel.h 16KB
qcoreevent.h 16KB
qatomic_windows.h 16KB
qstandarditemmodel.h 15KB
qmenu.h 15KB
qlinkedlist.h 15KB
qfontengine_p.h 15KB
qmenu.h 15KB
qaccessible2.h 15KB
qwindowsystem_qws.h 15KB
qmessagebox.h 15KB
qapplication.h 15KB
qaccessible2.h 14KB
qimage.h 14KB
qpainterpath.h 14KB
qmessagebox.h 14KB
qtextdocument_p.h 14KB
qwindowsystem_qws.h 14KB
qstringbuilder.h 14KB
qtextedit.h 14KB
qimage.h 14KB
qfiledialog_p.h 14KB
qmenubar.h 14KB
qpainterpath.h 14KB
qcombobox_p.h 14KB
qpaintbuffer_p.h 14KB
qfiledialog.h 14KB
qgraphicsscene.h 14KB
qatomic_s390.h 14KB
qgraphicsscene_p.h 14KB
qtextedit.h 14KB
qtestcase.h 14KB
qtablewidget.h 13KB
qmenubar.h 13KB
qabstractitemview.h 13KB
qset.h 13KB
共 2000 条
- 1
- 2
- 3
- 4
- 5
- 6
- 20
资源评论
暮苍梧~
- 粉丝: 41
- 资源: 258
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功