A module in C# .Net 2 or 3 that utilizes (inherits) RichTextBox class with the following additional cababilities :
1. Text can be set by line as well as content, which means that I can set the first line to be some text, and the rest of lines to be other text. Interference between text can be ignored (I will make sure that setting a line of some text won't exceed the size of the line based on the font size and the width of the viewer)
2. Can have multiple alignment capabilities in the same time, and that should be by line, which means that some lines can be justified, some aligned right, and some centered (I am using it for Arabic language).
3. Can have a frame all over the viewer, the frame width and height will be provided programmatically and content of the frame will be determined from a provided image programmatically
4. The content of the viewer should be displayed in pages ( no scroll abrs) accessed with a previous and next buttons, also from a page number.
5. The number of pages would be determined from the text size, font size, width & height of the page, that can be specified too. Each page start should have a relative location in accordance to the whole text
6. The whole pages can be printed as-is, i.e. with the same number of pages and alignment
7. The whole pages can be exported as-is to a pdf file (with or without the frame)
If .Net RichTextBox class can not be used as a start module, the following features from RichTextBox must be there :
1. A double click on a word in the viewer shall return an on-click event with details that includes the coordinates of the click (text location), the location can be relative in the page number or relative to the whole text.
2. Some text can be selected in order to be highlighted in different locations with different colors