Spent time on changing the corner gradient so that all borders [ solid , dotted ,etc] get the same kind of border demarcation as the dashed corners .
Made reftests using the python prototype which works well in most cases .
With the final submission set at tomorrow , I am done with implementing the dashed border code .
The code now is working . All code has been pushed to github . Mentor suggests moving some of the border normaliztion code to nsFrame.cpp . Will try to do that .
Also some effort needs to put to remove the cryptic parts of the code .
Completed writing the functions to be used in the patch .
There are still quite a few issues with the measuring because the prototype was written considering inner stroking . Also the interaction with other sides is not considered here .
Implemented a few changes based on suggestions on bugzilla . Now the prototype uses tangent angle ie: t17-tangent as the demarcation . link .
After adding all the changes to the python prototype .I am now writing patch to the code .
It took me some time to get to know the incremental build process. The strategy is to convert to all the python code to c++ . Some cases which could be optimized would be added after the inital logic is working .
There are some issues wrt to doing ssh to github behind our institute proxy , as soon as I figure it I would push the current state of the code to github .
So after changing to tangent form [ refer the bugzilla page ] , the code is now fully working prototype .
All the code can be found on github – link to the right .
Now using nightly build and working towards writing a patch .
Most of this week was spent in writing testcases and in the process correcting bugs .
Some notable bugs corrected :
1. Splitting the way the length was calculated with respect to whether major axis of corner ellipses along x or y axis .
Some correction resulting ::
Now is rendered properly as ::
2. Handling case where one innerRadii < 0 .
3. Handling most of [dunno if i missed any] rogue cases like width = 0 and/or height = 0 . Also handling cases like width = 1 , height = 1 ; borderSize = 1 ; borderRadii = 0 .
4. Added function normalize to rationalize cases when sum of borderRadii along a side exceed side length .
Updated total number of testcases tested against to total 26 .
Improving on previously written python prototype . Implemented testcases reading from file . Corrected few bugs and added some error handling . Moved the source to github : https://github.com/anilshanbhag/border . Made another small program to generate html file for given testcases .