Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
UppHub
Status & Roadmap
FAQ
Authors & License
Forums
Funding U++
Search on this site











SourceForge.net Logo

SourceForge.net Logo

GitHub Logo

Discord Logo

Google Summer of Code 2010. Ideas

 

Introduction

 

Google Summer of Code 2010 has been announced and this year Ultimate++ project really wants to participate as a mentoring organization.

 

If you like C++ and you want to use a radical focus to more effective programming we would be happy if you come with us.

 

Here we will describe you our proposals. We hope you will like them! However you can ask for additional information and we would also like to hear your ideas.

 

You can introduce yourself in our Forum, discuss with the community these ideas and your proposals adding your personal touches.

 

To prepare your proposal it is worth referencing a nice link in Gcc from a how-to in Drupal project.

 

This list is a work-in-progress. You can follow discussions in Forum.

 

Project Ideas

 

U++ port to KDE

 

Difficulty

High.

 

Experience required

U++, Qt.

 

Description

The goal is to provide a library which wraps Qt theming API and draw U++ widgets using it.

Right now U++ is using gtk+ theming API which make applications look ugly under KDE and gtk+ libs have to be available in order for application to run.

This library will make U++ non-dependent on a theming API but rather selecting proper theming engine at runtime so application look will be changed based on running context - KDE(Qt based) or Gnome(gtk+ based). If Qt or gtk+ do not exist and user have only X11 server U++ will use its own theming API for drawing widgets.

 

We propose you this roadmap

Learning to work in GNU/Linux U++

Analyzing Gtk+ theming in U++

Applying the right patches to use Qt properly in KDE environments

 

 

SVG parser

 

Difficulty

Medium.

 

Experience required

U++, SVG.

 

Description

Scalable vector graphics (SVG) is a format that describes 2D vectorial graphics. U++ "Painter" package includes an antialiased renderer class enough versatile to implement main SVG requirements. However there is only a small SVG parser implementation included in Bazaar/PainterSvg package. The goal would be to implement a state of the art SVG parser.

 

We propose you this roadmap

Reviewing PainterSvg package including U++ antialiased rendering and Xml parser and generator

SVG is a standard but not all the implementations are the same, We should have to look which are going to be our standards, including a set of test cases. We will define different project landmarks related to them.

 

 

Video Player Control

 

Difficulty

Medium.

 

Skills

U++, ffmpeg, sdl, gcc/mingw compiling infrastructure.

 

Description

This control would integrate ffmpeg video decoding and sdl to visualize video files.

 

We propose you this roadmap

Learning to work in U++ and SDL

Learning to work with DHCtrl

Ffmpeg and ffplay are easy to compile alone. You should have to integrate them into a U++ project. There is an excellent reference here

 

 

Web Browser Control

 

Difficulty

High.

 

Experience required

U++, webkit, gcc/mingw compiling infrastructure.

 

Description

This control would integrate a web browser into a control. Possibly the best option would be to use webkit.

 

We propose you this roadmap

Learning to work in U++ with DHCtrl

Integrate Webkit in a U++ project inside a DHCtrl derived class

 

 

U++ as a library

 

Difficulty

High

 

Experience required

U++, MSC, gcc/mingw compiling infrastructure.

 

Description

U++ is actually more than a C++ library as it cannot be integrated easily in projects not developed in the U++ ide TheIde.

The goal would be to develop U++ as a library using TheIde as a resource editor only.

This would imply to create tools and processes that can be integrated with infrastructure server so that U++ can be provided as pure library (or set of libraries).

Create a special mode of TheIDE so that it can be used as resource editor only.

 

We propose you this roadmap

Study U++ TheIde compiling strategy

Defining and developing the changes in U++ to make projects using make or Visual Studio

Changing TheIde to work with external projects as a resource editor

 

Project requirements

 

All U++ community projects have to comply with certain basic requirements. These are included in Bazaar pages.

 

Package submission and maintenance is described here.

 

If you need to use community packages you would have to do this.

 

And if you find any bug or you would like to get any additional feature or improvement, please go here.

 

As the main U++ platforms are Windows and GNU/Linux it would be important that all projects would support both operating systems leaving open the possibility to, in a future, be implemented in OSX.

 

Ultimate++ project is proud of its BSD license so we would really prefer that all external libraries to be linked with U++ code would be BSD licensed or similar.

 

Do you want to contribute?