Google

星期四, 八月 21, 2008

ADG:自动绘图生成库

ADG的全称是:Automatic Drawing Generation,它不是一个应用软件,而是一个经过包装、容易使用的图形库。它主要面向CAD系统,提供一个通用的、非交互的画板。
ADG基于著名的Cairo矢量图形库,因此能提供质量非常好的2D图形渲染。ADG使用了GObject来提供面向对象机制,并具备Model-View概念,具备很强的定制能力。
软件开发者可以利用ADG来开发出一款具备工业级标准的平面设计软件,当然因为这套库还在开发当中,还不能与已有的CAD系统相比。

The ADG library (Automatic Drawing Generation) is a set of functions focused on automating the drawing of mechanical parts.

It is not a CAD system but a library providing a non-interactive canvas where you can put common CAD entities such as paths, xatches and quotes, to create your technical drawings.

If you want to develop an application that needs to show and print drawings, also complex, where some data change but the overall design is ever the same the ADG library comes in handy. In production factories, this is often a good choice and could help to greatly improve the production in technical offices.

You can reach similar targets using parametric CADs but a custom application provides the following benefits:

  • more customizable
    if you have to create an application from ground, you can do whatever you want;
  • not so bloated as a parametric CAD
    this honestly depends on your application but, talking in general, ADG doesn't have a lot of stuff a CAD system must have;
  • can be easily connected to a database
    the model-view separation greatly improves the ADG connectivity;
  • the drawings could be generated on-fly
    no needs for user interaction: this feature can be used in a dynamic site throught a web-based application.

This library is developed in C using an object-oriented approach. It is primarily focused on GNU/Linux systems, but a porting to other environments should be easy (if not automatic): all the underlying libraries are known to run on Windows and OSX (at least).

As yet stated, the ADG uses the model-view concept: this helps the data source connection because, whenever you need to change the current part you want to see/check/print, it suffices to change the data inside the model.


http://www.entidi.it/adg/

标签: , ,

星期二, 三月 18, 2008

关于GTK+3的二三事

近日,在德国柏林举行的GTK+ Hackfest 2008已经顺利闭幕。众人所关注的关于GTK+的未来也已经有了一个比较清晰的路线图,从这路线,或者我们可以想像GNOME桌面环境的未来。众所周知,GTK+是GNOME桌面环境的基石,它的变化将直接影响GNOME桌面的方方面面,就像QT之KDE。GTK+2的面世已经整整六年了,这六年,它越来越流行,不论是自由软件还是商业软件都有相当数量使用GTK+ 作为其图形开发工具箱。其中,Adobe、nVIDIA和VMware等商业公司都有使用GTK+作为他们产品的基础。作为数年历史的GTK+2,一方面还存在许多不足,另一方面,它也变得越来越成熟。于是,Hackfest 2008上,GTK+2的下一代:GTK+3的讨论成为了热点。毫无疑问,是GTK+3该登场的时候了。在很久很久以前,LDCN在GNOME 2.22,2.24特性预览中就透露过开发者的意向,即GNOME 3并不会重新设计,而是进行平稳地过渡。然而,这个目标有了变化。因为同时做到平稳过渡和新特性的加入,这是非常困难的。所以开发者最终还是决定Break API和ABI,先完成一个去掉所有过时API和改进类结构的GTK+3.0,再继续将新特性加入至GTK+3.X。相对而言,这种做法也是相对平稳的。下面我将GTK Hackfest 2008上讨论的结果总结如下,希望能给所有关注GTK+的开发者和关注GNOME桌面未来的朋友一个答案:
Alpha透明支持:在GTK+3中,所有的控件都将获得Alpha透明支持。这使得开发者可以创建灵活和有趣的用户界面。这个不同于Compiz实现的透明,因为在未来的GTK+3中,你可以在编码中就决定某个控件具备多少的透明度。
更易用的布局管理:尽管现有GTK+的布局管理器(如Box)已够非常强大,但是在GTK+3中,将会增加一种更简单易用的控件以进行布局管理。
过渡、物理和动画效果:为了让用户界面更加自然、平滑和流畅,GTK+3将引入过渡效果、物理效果和动画效果。例如,在使用Notebook进行标签切换时,将有淡入淡出等效果。物理效果则会主要应用在拖拽操作上。
主题改进:尽管现在GNOME桌面主题异常丰富,不过还是有很多艺术工程者反应主题很难做。所以GTK+3将改进主题制作方面的难题,上述是几点GTK+图形方面将被加入的新特性,除此之外,现有GTK+2不足的一些表现也将得到改进,比如更好的跨平台性、更方便的语言绑定等。关于GTK+3还没有一个正式的时间表,应该会花比较长的时间。所以,GNOME 3也是不可预计的。慢慢等吧!

标签:

MonoDevelop 1.0正式发布!

MonoDevelop团队骄傲地宣布了MonoDevelop 1.0的正式发布。MonoDevelop是一款GNOME下的集成开发工具,可以利用日趋流行的.Net语言来开发GTK#应用程序和ASP.NET应用等。—–MonoDevelop支持使用C#和其他.NET语言进行开发,它使得开发者可以在Linux和Mac OSX上非常迅速的开发出桌面软件和ASP.NET Web应用。除此之外,MonoDevelop还允许开发者非常简单的将VisualStudio开发的.NET应用程序移植到Linux和Mac OS X下,这样开发者只需要维护一套代码即可──因为GTK#是跨平台的。或许有人对于Microsoft的.NET环境有些抵触,而开放的桌面环境:GNOME早已将开源实现的.NET运行环境Mono纳入了默认支持当中。GNOME系统的“Tomboy便笺”即是用C#编写,Novell出品的照片管理工具:F-spot也是如此,同样还有著名的索引搜索工具Beagle。通过Mono,能吸引更多的开发者,这何尝不是一件好事?再谈最新的MonoDevelop 1.0,它是一款非常强大的集成开发环境,有如下特性:
代码补全。
参数信息。
信息提示。
即时错误检查。
代码导航。
智能索引。
自动生成XML标签。
代码模板。
类和成员选择器。
单元测试。
打包和部署。
版本控制。
Visual Studio支持。
国际化支持。最棒的是,如果你使用C#的话,还能使用集成GTK#的可视化设计。这是目前为止GNOME环境下唯一的集成可视化设计器的IDE,Anjuta也不支持。
http://linux.chinaunix.net/bbs/viewthread.php?tid=983464

标签: , ,

辽ICP备05003652号
流风洄雪听天籁,轻云蔽日看落花

Powered by Blogger